Skip to main content

Module x11

Module x11 

Source
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? DISPLAY being 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.