layer-shell: Notify of fullscreen/maximize
Created by: AdrianVovk
Hello,
Currently, layer-shell has no signal to indicate that some surface has gone full-screen and will cover the panel. For simple panels, this is fine. I, however, am trying to build a DE with Wayfire, and it would be great to use layer-shell (if my users want to run my DE's components on Sway for tiling, for example). I have functionality where the super key will open the application menu, and the panel pops up temporarily over fullscreened surfaces. I also have a Super + T binding that pops up the panel for a few hundred ms to check the time or whatnot. layer-shell does not allow me in any way to know when a surface has gone fullscreen, so I cannot do any of this. If this is implemented separately from layer-shell, there needs to be some way for clients to tell the compositor that they handle fullscreen windows and shouldn't be forced below them.
It also seems fitting that layer-shell could notify the panel when a client is maximized. My panel is translucent when nothing is tiled/maximized, but should go fully opaque when something is. I'm certain this is a common usecase (Pantheon, GNOME, etc). This could go into a separate protocol if need be.
Thank you!