Léxico TI › Programación › layer-shell

layer-shell

Programación Svenska → Actualizado: 2026-10-10

El protocolo que da sitio en Wayland a paneles, fondos de escritorio y pantallas de bloqueo: superficies ancladas a un borde de la pantalla, apiladas en una de cuatro capas y capaces de reservar espacio para que las ventanas normales no queden bajo la barra.

xdg-shell describe ventanas de aplicación, pero un escritorio también se compone de cosas que no son ventanas: una barra arriba, un fondo abajo, una notificación en la esquina, una pantalla de bloqueo sobre todo lo demás. En X lo resolvía EWMH con tipos de ventana y _NET_WM_STRUT; en Wayland no había nada hasta que Drew DeVault escribió wlr-layer-shell en 2018 para las herramientas de Sway: swaybar, swaybg y swaylock. Un cliente pide una layer_surface en una salida concreta y en una de las capas background, bottom, top u overlay, la ancla a uno o varios bordes, fija márgenes y una exclusive zone que el compositor resta del área disponible para las ventanas corrientes. El foco de teclado está apagado salvo que el cliente lo pida.

Pese al "wlr" del nombre, el protocolo viajó mucho más allá de wlroots: KWin lo soporta desde Plasma 5.20 en 2020, Mir e Hyprland también, y la biblioteca gtk-layer-shell permitió a los programas GTK usarlo sin tocar Wayland en crudo. Waybar, wofi, mako y fuzzel están escritos contra él. El gran ausente es Mutter: GNOME Shell dibuja su propio panel y no ve motivo para dejar entrar el de nadie más. Por eso la caja de herramientas de un usuario de mosaico rara vez funciona en GNOME, y por eso los intentos de convertirlo en un ext-layer-shell neutral llevan años debatiéndose en wayland-protocols.

← Volver al léxico