<div dir="ltr">You can see our layers here:<br><br><a href="https://git.gnome.org/browse/mutter/tree/src/meta/common.h#n572">https://git.gnome.org/browse/mutter/tree/src/meta/common.h#n572</a><br></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Tue, Feb 4, 2014 at 2:45 AM, Emilio Pozuelo Monfort <span dir="ltr"><<a href="mailto:pochu27@gmail.com" target="_blank">pochu27@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">On 03/02/14 17:14, Emilio Pozuelo Monfort wrote:<br>
> Hi Bill,<br>
><br>
> On 30/01/14 23:33, Bill Spitzak wrote:<br>
>> There really should not be a "fullscreen layer" which is what is causing this<br>
>> problem. "layers" are imho a mistake except for the desttop and the mouse cursor.<br>
>><br>
>> What I think needs to happen:<br>
>><br>
>> Fullscreen, normal windows, and "panels" can be arranged in any stacking order,<br>
>> except the compositor enforces this rule:<br>
>><br>
>> The "panels" are always just below the lowest fullscreen window. If there are no<br>
>> fullscreen windows then the panel is above all windows.<br>
>><br>
>> There are several ways to enforce this but one that matches current window apis is:<br>
>><br>
>> 1. When a window is "raised" and there are no fullscreen windows, the panels are<br>
>> also raised to remain above it. If there are fullscreen windows then the panel<br>
>> is not moved. Note that a window can be raised above a fullscreen window, thus<br>
>> solving this bug.<br>
>><br>
>> 2. Whan a window switches to fullscreen it is also raised (thus it will end up<br>
>> above the panel). (an alternative is to lower the panel but that is not standard<br>
>> behavior in existing windowing systems).<br>
>><br>
>> 3. When the last fullscreen window switches to non-fullscreen, the panel is<br>
>> raised above all windows.<br>
><br>
> I think this could work well. It would indeed solve<br>
> <a href="https://bugs.freedesktop.org/show_bug.cgi?id=74219" target="_blank">https://bugs.freedesktop.org/show_bug.cgi?id=74219</a>. I just disagree with one<br>
> detail: the panel should always be on top except when the top surface is<br>
> fullscreened. So if there are two surfaces, a normal surface above and a<br>
> fullscreen surface behind it, then the panel should be raised (that would be<br>
> consistent with what we currently do and with what gnome-shell does).<br>
<br>
</div></div>I talked to Jasper on irc and he said mutter keeps a normal layer and a<br>
fullscreen layer, and adds an extra layer where the focused window is placed and<br>
which is drawn above the other layers. That would solve #74219 as well. However<br>
this made me think we can solve #74219 easily without adding an extra layer or<br>
removing the fullscreen layer. We just need to raise a surface to the top<br>
whenever it is focused, including lowering the fullscreen layer if that isn't empty.<br>
<br>
I'll try to look at this later this week if I can find some time.<br>
<br>
Cheers,<br>
Emilio<br>
</blockquote></div><br><br clear="all"><br>-- <br>  Jasper<br>
</div>