[PATCH] [RFC]Shell: Hide panels when compositor has a top fullscreen surface.

Bill Spitzak spitzak at gmail.com
Mon Feb 20 12:17:06 PST 2012


On 02/19/2012 06:41 PM, wuzhiwen wrote:

> [Wu, Zhiwen]Agree. But my concern is when a regular window raised atop a
> fullscreen one, should panels raise too?

My personal opinion is "no", but it appears there is disagreement with 
this. Wayland should allow both behaviors, chosen by the compositor.

Putting the panels on top requires some way to distinguish whether the 
raised windows are dialog boxes for a fullscreen window, or something 
else. I think this can be done with my "raise" command:

The raise command contains a list, from bottom to top, of desired window 
orderings. It also contains a single window id (which may be None) that 
is a window to put above all other windows. For instance if the list is 
[A,B,C,D,E] and the window id is C, then the compositor should put B 
above A (not moving it if already above it), then put C above *all* 
windows, then put D above C and E above D.

To distinguish whether the windows are dialog/popups for a fullscreen 
window or not, the fullscreen window will have to be in the list. This 
does not force the fullscreen window to be raised, because it can be the 
first one in the list and not the identified raise window.

The rules for panels is they are either "on top" or "below all 
fullscreen windows".

A raise that does not name a fullscreen window in it's list will change 
the panels to "on top".

A raise where the raise window (not the list) is a fullscreen window 
will change the panels to be below all fullscreen windows.

All other raises leave the state as-is.


More information about the wayland-devel mailing list