How to position a dialog box atop an application's main window?



I remember some discussion within, I think, the past few months about
how to make dialog boxes for an application pop up atop the main window
for the application, rather than being placed wherever the window
manager feels like it (which appears to mean "placed somewhere random,
often not near the window, so that you don't necessarily see it pop up).

Unfortunately, I can't find the messages discussing this; I suspect it
involves getting the position of the main window (with
"gdk_window_get_position()") and then setting the dialog box's position
(with "gdk_window_set_position()"), but I have the impression there may
have been more involved than just that.

(I have the impression that window managers don't necessarily to
position transient-for windows atop the window for which they're
transient, and can't necessarily even be configured by the user to do
this - I didn't find any obvious code in KWM to do this, for example;
were they to do so, this might give you the desired behavior
automatically, as long as dialog boxes are made transient for the main
window, but, as there are probably plenty of window managers that don't
do that and can't be made to do that, applications or toolkits are
probably stuck indefinitely with doing this themselves.

Also, if window managers did that, they could perhaps arrange to keep
multiple dialog boxes for a window from overlapping each other.)




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]