It worked great on Windows, but on Linux it is just cannot be reliably done, period. Every other window manager is doing their own crazy things and optimization, and the application is just not receiving move and resize events immediately, but only after the fact. So I could move my window for 2 minutes all over the screen, and GoldenDict won't receive a single move event. So that small status bar window would look like out of place, staying at the old location.
Also, to my surprise, calculating the window location is much trickier on X11 as I thought.
So, instead of separate window, I'm going to use a widget and place it on top of the actual content. That way, there will be no problems with compositing window managers, no problems with location calculation and sync-up. So, this is going to be much more reliable and cross-platform.
The only drawback is that we won't be able to paint the status bar outside of the main window, which is sometimes desirable. For example, take a look at Chrome statusbar on Windows. When you move your mouse close to the status bar, it gets out of the way, possibly moving out of the window.

But even chrome devs decided that it's not worth the trouble to do the same on X11. On X11 they also use internal widget.