On 03/02/14 17:14, Emilio Pozuelo Monfort wrote: > Hi Bill, > > On 30/01/14 23:33, Bill Spitzak wrote: >> There really should not be a "fullscreen layer" which is what is causing this >> problem. "layers" are imho a mistake except for the desttop and the mouse >> cursor. >> >> What I think needs to happen: >> >> 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. >> >> There are several ways to enforce this but one that matches current window >> apis is: >> >> 1. When a window is "raised" and there are no fullscreen windows, the panels >> are >> also raised to remain above it. If there are fullscreen windows then the >> panel >> is not moved. Note that a window can be raised above a fullscreen window, >> thus >> solving this bug. >> >> 2. Whan a window switches to fullscreen it is also raised (thus it will end >> up >> above the panel). (an alternative is to lower the panel but that is not >> standard >> behavior in existing windowing systems). >> >> 3. When the last fullscreen window switches to non-fullscreen, the panel is >> raised 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. Cheers, Emilio _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel