A deep dive into Wayland shells as implemented in wlroots, covering the core concept of surfaces and how shells assign them roles. Explains xdg-shell (the stable protocol for application windows) including toplevels, popups, and the xdg_positioner interface. Covers the wlroots-specific layer-shell protocol for desktop components like panels, wallpapers, and lock screens, including its four rendering layers, anchoring, exclusive zones, and keyboard interactivity. Also addresses Xwayland as a shell abstraction in wlroots, and briefly mentions deprecated or niche shells like wl_shell, ivi-shell, and fullscreen-shell.
Sort: