xdg-shell: Add request to make a toplevel surface always on top
This API will allow clients to create a toplevel which should be displayed above other surfaces (i.e. Picture in Picture popups found in web browsers). Unlike X11's _NET_WM_STATE_ABOVE, the request may only be sent during the toplevel's creation (before initial commit) to prevent malicious use. This does mean that some behaviors cannot be translated to Wayland, however.
Alternatives to the above can be a system where:
- The toplevel can set whether it's always-on-top at will, similar to fullscreen with
set
andunset
- The toplevel can always set itself as always-on-top, but not unset, similar to minimizing
- The toplevel can only set itself as always-on-top once, with the compositor ignoring further requests (removing the pre-initial commit requirement)