Skip to content

labwc

Version 2026.155.2227
Repo superproject

A nested labwc Wayland compositor hosting the Selkies streaming desktop labwc installs a wlroots-based Wayland compositor plus the foot terminal, thunar file manager, and Xwayland for X11 compatibility. The labwc-wrapper connects to pixelflux’s wayland-1 socket and creates its own wayland-0 client socket so desktop apps render into the captured desktop; rc.xml maximizes every window and autostart wires the session. Every installed binary and config file is verifiable on the built image, and the supervised labwc service must reach a stable RUNNING state at deploy.

  • labwc

This candy’s plan: — the runnable spec charly check executes against a live deployment. check: steps are idempotent probes; run: steps change state.

Intent Step
run mkdir=${HOME}/.local/bin
run mkdir=${HOME}/.config/labwc
run copy=labwc-wrapper
run copy=rc.xml
run copy=autostart
check the labwc Wayland compositor binary is installed at /usr/bin/labwc
check the labwc-wrapper that nests the compositor under pixelflux wayland-1 is installed
check the labwc rc.xml configuration (server-side decorations, maximize-all window rule) is present
check the labwc autostart session script is present
check the foot terminal emulator is installed for the desktop session
check the thunar file manager is installed for the desktop session
check Xwayland is installed so X11 applications run inside the Wayland session
agent-check once pixelflux’s wayland-1 socket is healthy, labwc creates its own wayland-0 socket and hosts the desktop applications as a stable supervised service
check service=labwc
check command=test -e /tmp/wayland-0
check command=supervisorctl status labwc | awk ‘/RUNNING/{n=split($NF,a,“:”); s=a[n]+a[n-1]*60+a[n-2]*3600; if(s>=20){f=1}} END{exit !f}’