keep transient windows (dialogs) on top

I have a problem with some gtk2-dialog windows: they are coded as modal, but they only have the focus all the time (as they should), but don’t stay on top (as they should :wink:).

is there any possibility, to keep these transient dialog windows always on top for their parental program?



Style * RaiseTransient

You might also want to use in combination with that:

Style * StackTransientParent


– Thomas Adam

I already have those 2 in my config, but it doesn’t work :confused:

they stay on top in xfce, but they don’t in fvwm or fluxbox. but transient dialog windows are handled by the windowmanager, not gtk, afaik.

the program which causes the trouble is this:

It does work. Which leads me to suspect that the windows you think are trabsient, aren’t. You can quite easily check this. The next time the window pops up, open an xterm, or whatever terminal emulator you use, and type into it:

xwininfo | grep -i transient

… and select the window. If the command returns useful output, then it is transient. If not, then it isn’t, and you’ll have to apply the usual style line to set the layer of the window’s name:

Style <name_of_window> Layer 0 10

which is a lot over what the default layer would be.

That’s right. Handling transient windows is a facet of the window manager. GTK is a widget set toolkit, and is window manager agnostic.

– Thomas Adam

acording to xwininfo the dialog windows aren’t transient.
but (for example) Style "Make directory" Layer 0 10 causes the “Make directory” window to stay below every other window.
Layer 10 0 causes the window to stay on top, but only this dialog window, not any other of the filer.

using Style "filer" Layer 10 0 works, but then the dialog windows stay on top of every window, even terminals, for example.

I’d like to have these dialog windows only stay on top for the filer, but other windows should be able to be raised above them.

Because “filer” is presumably the name of the class attribute which is the same for any dialog windows that the filer window manager uses.

Then what you need to do is look at the windows you want to have raised above all others, and look for a commonality in the “resource” or “class” attribute. You can use FvwmIdent to determine this. If you find that the dialog windows have the same resource, which is different from the filer window you don’t want raised, then use the name in the style line, as you did above.

If they’re all the same, then you’ll just have to style each individual window. Although you could cheat somewhat. You said that:

style filer Layer 10 0

woked, but for every window. How about negating that for the other windows you don’t want raised?

style foo StartsLowered

or whatever you decide.

– Thomas Adam