layer-shell
Protokół, który daje panelom, tapetom i ekranom blokady miejsce w Waylandzie — powierzchnie zakotwiczone przy krawędzi ekranu, ułożone w jednej z czterech warstw, mogące zarezerwować przestrzeń, by zwykłe okna omijały pasek.
xdg-shell opisuje okna aplikacji, ale pulpit składa się też z rzeczy, które oknami nie są: paska u góry, tła na dole, powiadomienia w rogu, ekranu blokady nad wszystkim. W X radził sobie z tym EWMH, używając typów okien i _NET_WM_STRUT; Wayland nie miał niczego, dopóki Drew DeVault nie napisał w 2018 roku wlr-layer-shell dla narzędzi Swaya: swaybar, swaybg i swaylock. Klient żąda layer_surface na danym wyjściu w jednej z warstw: background, bottom, top lub overlay, kotwiczy ją przy jednej lub kilku krawędziach, ustawia marginesy i strefę wyłączną, którą kompozytor odejmuje od obszaru dostępnego dla zwykłych okien. Fokus klawiatury jest domyślnie wyłączony, o ile klient o niego nie poprosi.
Mimo „wlr” w nazwie protokół wyszedł daleko poza wlroots: KWin wspiera go od Plasmy 5.20 w 2020 roku, Mir i Hyprland również, a biblioteka gtk-layer-shell pozwoliła programom GTK z niego korzystać bez dotykania surowego Waylanda. Waybar, wofi, mako i fuzzel są pisane właśnie pod niego. Głównym opornikiem jest Mutter: GNOME Shell rysuje własny panel i nie widzi powodu, by wpuszczać cudzy. Dlatego zestaw narzędzi użytkownika kompozytora kafelkowego rzadko działa w GNOME, a próby przekształcenia protokołu w neutralny producentowo ext-layer-shell od lat są dyskutowane w wayland-protocols.