[PATCH weston] Fullscreen surfaces
spitzak at gmail.com
Tue Feb 4 11:51:31 PST 2014
Emilio Pozuelo Monfort wrote:
> On 03/02/14 17:14, Emilio Pozuelo Monfort wrote:
>> Hi Bill,
>> On 30/01/14 23:33, Bill Spitzak wrote:
>>> Fullscreen, normal windows, and "panels" can be arranged in any stacking order,
>>> except the compositor enforces this rule:
>>> The "panels" are always just below the lowest fullscreen window. If there are no
>>> fullscreen windows then the panel is above all windows.
>> I think this could work well. It would indeed solve
>> https://bugs.freedesktop.org/show_bug.cgi?id=74219. I just disagree with one
>> detail: the panel should always be on top except when the top surface is
>> fullscreened. So if there are two surfaces, a normal surface above and a
>> fullscreen surface behind it, then the panel should be raised (that would be
>> consistent with what we currently do and with what gnome-shell does).
> I talked to Jasper on irc and he said mutter keeps a normal layer and a
> fullscreen layer, and adds an extra layer where the focused window is placed and
> which is drawn above the other layers. That would solve #74219 as well. However
> this made me think we can solve #74219 easily without adding an extra layer or
> removing the fullscreen layer. We just need to raise a surface to the top
> whenever it is focused, including lowering the fullscreen layer if that isn't empty.
> I'll try to look at this later this week if I can find some time.
No, please do not tie "focus" to "on top". This makes overlapping
windows and drag & drop unusable and is probably the biggest mistake in
desktop design ever. I thought this was quite obvious to everybody
working on Wayland and am rather scared to see a "focus layer" being
discussed by people I thought were intelligent.
Assuming that the "focus layer" is just badly named, and in fact it is
just being used to hold any raised window when a fullscreen window
exists, then this is equivalent to my idea (since the "dock layer"
remains below the "fullscreen layer").
I think my description is a lot easier to handle and implement. The
problem is that "layers" are the wrong idea and should be abandoned.
Instead there are more complex rules for window stacking that cannot be
described by "layers", or only by making a huge number of layers and
allowing surfaces to change layers, as this is attempting.
More information about the wayland-devel