WINDOW_TYPE_HINT_UTILITY windows are hard to find

Olivier Fourdan fourdan at xfce.org
Thu Apr 5 14:05:11 CEST 2007


Hi

On 4/5/07, Chris Moore <dooglus at gmail.com> wrote:
> I'm having problems with xfwm4 and an app (synfig-studio) which makes
> a bunch of dialog windows, using the xubuntu live CD version 6.06.
> 
> xfwm4: Installed: 4.3.90.1svn+r21712-0ubuntu1
> 
> The application sets the dialog windows to be 'utility' windows using
>  set_type_hint(Gdk::WINDOW_TYPE_HINT_UTILITY);
> 
> This prevents the windows from showing up in the taskbar.

The spec [1] says:

/_NET_WM_WINDOW_TYPE_UTILITY indicates a small persistent utility window, such as a palette or toolbox. It is distinct from type TOOLBAR because it does not correspond to a toolbar torn off from the main application. It's distinct from type DIALOG because it isn't a transient dialog, the user will probably keep it open while they're working. Windows of this type may set the WM_TRANSIENT_FOR hint indicating the main application window./

Because of the nature of utility windows, xfwm4 choose to set the skip taskbar/skip pager hints on utility windows (metacity does the same btw).
 
> With metacity, clicking on the main app window brings the dialogs to
> the front but with xfwm4, they stay hidden.  This makes it hard to
> find the dialog windows once they've been covered.  Clicking the 'show
> desktop' icon exposes them, but this is a little inconvenient.

As stated in the spec, the application may set the WM_TRANSIENT_FOR hint indicating the main application window. If it does, then the windows will be raised and kept on top of its parent window.

One improvement could be to ignore the UTILITY type of windows unless the WM_TRANSIENT_FOR is set. That would definitely help with such applications. Can you open an terminal, run "xprop|grep TRANSIENT" and click on one of the utility windows and check if the WM_TRANSIENT_FOR is set?
 
> Is this a bug in one of the two wms?

Dunno yet if it's a bug since I don't know if the application sets the WM_TRANSIENT_FOR property on the utility window.

Cheers,
Olivier.




More information about the Xfce4-dev mailing list