transient windows with the gtk socket and plug mechanism
a_lampersperger at web.de
Wed Apr 25 07:56:53 CEST 2007
what you wrote seems to me very resonable.
(Thank your for the hint with the grabbing of the X-server).
So in your point of view, this problem lies in the gtk and should be corrected there, right? What is the best way for an application to detect that a window is a toplevel window or not?
> -----Ursprüngliche Nachricht-----
> Von: XFCE4 development list <xfce4-dev at xfce.org>
> Gesendet: 24.04.07 21:49:12
> An: XFCE4 development list <xfce4-dev at xfce.org>
> Betreff: Re: transient windows with the gtk socket and plug mechanism
> -----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 18.104.22.168 of the ICCCM  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."
>  http://tronche.com/gui/x/icccm/sec-4.html#s-22.214.171.124
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.7 (GNU/Linux)
> Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org
> -----END PGP SIGNATURE-----
> Xfce4-dev mailing list
> Xfce4-dev at xfce.org
SMS schreiben mit WEB.DE FreeMail - einfach, schnell und
kostenguenstig. Jetzt gleich testen! http://f.web.de/?mc=021192
More information about the Xfce4-dev