How do I force one of my windows to the front of a stack
of windows on the desktop?
|
19-Dec-01 17:00 GMT
|
Sadly there is no longer a solution to this problem. All raise
requests are re-routed via the window manager, and unless you
make the window override-redirect, you are completely at the
mercy of the window manager's stacking policy.
Older Motif-compliant window managers (such as mwm) would allow
you to do this. Newer Linux-based window managers, and later CDE
derivatives, do not.
Interestingly, SGI implemented a back-door method whereby the
server would maintain a list of reserved windows which would
guarantee to be on top, but the API is not public, and nobody
else implements anything similar as far as we are aware.
You can play round with a few things like specifying in CDE that
a dialog window must remain on top of other application top
levels, but that is all. Basically X supports this capability,
but most CDE and Linux based window managers do not honor the
applications request to raise the window.
If you would like to find out if you are lucky you can try
XRaiseWindow but if it doesn't work, don't be surprised:
Syntax
XRaiseWindow(display, w)
Display *display;
Window w;
Arguments
- display
- Specifies the connection to the X server.
- w
- Specifies the window.
For example:
XRaiseWindow (XtDisplay(MyDialogShell), XtWindow (MyDialogShell));
Sponsored
by X-Designer - The Leading X/Motif GUI Builder
- Click to download a FREE evaluation
Goto top of page
|