Tracking with breaking change from swaywm/wlroots@b7dc4f2.
JYUOTMXZ6PTTW6EAAXB2M5C6E2WGCZTOW3WKNAIUV44PG6OLXLPQC Attaching a null buffer to a layer surface unmaps it.Unmapping a layer_surface means that the surface cannot be shown by thecompositor until it is explicitly mapped again. The layer_surfacereturns to the state it had right after layer_shell.get_layer_surface.The client can re-map the surface by performing a commit without anybuffer attached, waiting for a configure event and handling it as usual.
<enum name="keyboard_interactivity"><description summary="types of keyboard interaction possible for a layer shell surface">Types of keyboard interaction possible for layer shell surfaces. Therationale for this is twofold: (1) some applications are not interestedin keyboard events and not allowing them to be focused can improve thedesktop experience; (2) some applications will want to take exclusivekeyboard focus.</description><entry name="none" value="0"><description summary="no keyboard focus is possible">This value indicates that this surface is not interested in keyboardevents and the compositor should never assign it the keyboard focus.This is the default value, set for newly created layer shell surfaces.This is useful for e.g. desktop widgets that display information oronly have interaction with non-keyboard input devices.</description></entry><entry name="exclusive" value="1"><description summary="request exclusive keyboard focus">Request exclusive keyboard focus if this surface is above the shell surface layer.For the top and overlay layers, the seat will always giveexclusive keyboard focus to the top-most layer which has keyboardinteractivity set to exclusive. If this layer contains multiplesurfaces with keyboard interactivity set to exclusive, the compositordetermines the one receiving keyboard events in an implementation-defined manner. In this case, no guarantee is made when this surfacewill receive keyboard focus (if ever).For the bottom and background layers, the compositor is allowed to usenormal focus semantics.This setting is mainly intended for applications that need to ensurethey receive all keyboard events, such as a lock screen or a passwordprompt.</description></entry><entry name="on_demand" value="2" since="4"><description summary="request regular keyboard focus semantics">This requests the compositor to allow this surface to be focused andunfocused by the user in an implementation-defined manner. The usershould be able to unfocus this surface even regardless of the layerit is on.Typically, the compositor will want to use its normal mechanism tomanage keyboard focus between layer shell surfaces with this settingand regular toplevels on the desktop layer (e.g. click to focus).Nevertheless, it is possible for a compositor to require a specialinteraction to focus or unfocus layer shell surfaces (e.g. requiringa click even if focus follows the mouse normally, or providing akeybinding to switch focus between layers).This setting is mainly intended for desktop shell components (e.g.panels) that allow keyboard interaction. Using this option can allowimplementing a desktop shell that can be fully usable without themouse.</description></entry></enum>
Set to 1 to request that the seat send keyboard events to this layersurface. For layers below the shell surface layer, the seat will usenormal focus semantics. For layers above the shell surface layers, theseat will always give exclusive keyboard focus to the top-most layerwhich has keyboard interactivity set to true.
Set how keyboard events are delivered to this surface. By default,layer shell surfaces do not receive keyboard events; this request canbe used to change this.This setting is inherited by child surfaces set by the get_popuprequest.