Semantics of "Fullscreen"

Hi all.

I just had an interesting with Federico on IRC about the fullscreen
state of windows.

Since the GIMP apparently permanently is testing the limits of the
wm-spec  :)  of course there is a problem lurking (IMHO not really
specific to the GIMP).

Gimp offers the option to have an image window in fullscreen mode.
Obviously this is very useful when painting - less distraction.

However, Metacity has the habit to always put Windows with the UTILITY
hint on top of fullscreen windows of the same group, and AFAIK this
cannot be disabled. I believe that this behaviour is problematic.

I generally think of fullscreen windows as "show me just the content of
this window, I am not interested in anything else".
Typical examples for this approach are image viewers, presentation tools

When the Gimp-Dock-Dialogs are utility windows, metacity places them
on top of the fullscreen window, making it a futile approach to my
intended use as "please, no distraction" .

(A discussion of this effect is in bug #115092, but I don't want to
enter the discussion, if the UTILITY hint is useful for Gimp-Dock
windows or not, actually that is configurable right now).

Lets just assume that there are applications where a utility window
might be useful on top of a fullscreen window (brush selection while
painting in fullscreen mode) and there are applications where this is
not useful (an presentation tool might want to have utility windows
floating on top of the edit window, but certainly does not want these
when presenting something).

So, how would an application indicate that (some of) its utility windows
should float on top of fullscreen windows? Of course the application
could explicitely hide utility windows that should not be visible in
fullscreen mode, but then the application suddenly would have to deal
with window management, which is better left to the window manager...

In our discussion I suggested, that the application could set the
Transient hint on Utility windows, that should stay on top of fullscreen
windows. I am not really sure about that, since I don't really know if
the typical utility window can be considered "transient".

Another option might be to explicitely use the Layer-stuff from the

I doubt that adding more roles to the spec is feasible, so I'll just
mention that option without really supporting it  :)

What do you think?


      Simon Budig unix-ag org

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]