Expand description
X11 splash backend — a software-drawn, override-redirect window showing the pulsing brain over a dark backdrop, dismissed (with a fade-out) when the host writes the ready-file or after the safety timeout. For X11 / XWayland sessions.
When a compositor is present we use a 32-bit ARGB visual so the backdrop
can have rounded corners and the whole splash can fade out (per-pixel alpha,
pre-multiplied). With no compositor there’s no per-pixel alpha, so we fall
back to an opaque depth-24 square that dismisses abruptly. Centering uses the
RANDR primary monitor. No GPU — we composite each frame into an off-screen
pixmap and CopyArea it to the window at ~60 fps.
Spec: docs/specs/SPEC_LINUX_SPLASH_POLISH_2026_06_20.md
Functions§
- find_
argb_ 🔒visual - First 32-bit TrueColor visual on the screen, if any.
- has_
compositor 🔒 - True if a compositing manager owns the
_NET_WM_CM_S<screen>selection (GNOME/Mutter and XWayland under it always do) — i.e. per-pixel alpha works. - primary_
monitor 🔒 - RANDR primary-monitor geometry
(x, y, w, h), falling back to the whole X screen if RANDR/primary is unavailable. - run 🔒
- server_
reachable 🔒 - Cheap reachability probe for the backend selector (
super::detect): can we actually open an X11 connection?DISPLAYbeing set doesn’t guarantee a live server, so we test the real handshake (which fails fast when there’s none). Only when this succeeds do we prefer the self-centering X11/XWayland splash over the native-Wayland fallback. - set_
ewmh_ 🔒hints - Best-effort EWMH hints (harmless under
override_redirect): mark as a splash, ask for above + no taskbar/pager entry.