transient windows with the gtk socket and plug mechanism

Olivier Fourdan fourdan at xfce.org
Tue Apr 24 21:51:03 CEST 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Olivier Fourdan wrote:
> 
> Hi Andreas,
> 
> Andreas Lampersperger wrote:
>> Hello,
> 
>> please write me your opinions to the following problem and the patch I provided:
> 
>> I have encountered that the xfwm4 (ver 4.4.1) does not tread transient windows as transients when the gtksocket gtkplug mechanism is used. (Other window managers like kde does have the same problem).
> 
> Yes, because it's not a problem with the window manager, but with the
> application not setting the transient property properly.
> 
>> test case: Use firefox and install adobe reader as a firefox plugin, so that pdf's are directly shown in the firefox window. If you click on "save a copy..." a "copy as"-dialog is shown. This dialog has the wm_hints transient and modal. If you now click on the pdf-window the "save-as" dialog is hidden by the firefox window and the adobe reader (within the firefox window) is not responding, which is imho a failure because of the transient and modal hints.
> 
>> reason: the transient_for hint specifies the gtk-plug-window and this window is not registered by the xfwm as a "client"
> 
> Clients are top level window only. From the standard:
> 
> "The WM_TRANSIENT_FOR hint of the ICCCM allows clients to specify that a
> toplevel window[...]"

Sorry, to be precise, it's section 4.1.2.6 of the ICCCM [1] that tells
that WM_TRANSIENT_FOR property contains the ID of another top-level window:

"The WM_TRANSIENT_FOR property (of type WINDOW) contains the ID of
another top-level window. The implication is that this window is a
pop-up on behalf of the named window, and window managers may decide not
to decorate transient windows or may treat them differently in other
ways. In particular, window managers should present newly mapped
WM_TRANSIENT_FOR windows without requiring any user interaction, even if
mapping top-level windows normally does require interaction. Dialogue
boxes, for example, are an example of windows that should have
WM_TRANSIENT_FOR set."


[1] http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.2.6
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)
Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org

iD8DBQFGLl+nFHBtvh5LRUARAt9/AJ9g9dJntVLUHhVEcG+RXU6KmvsymQCfbQO9
OKneIQWKXy7tfUV8zlULaiw=
=F/qm
-----END PGP SIGNATURE-----




More information about the Xfce4-dev mailing list