[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