Atrium
A workspace-driven tiling Wayland compositor, and the desktop built around it, for Void Linux.
The idea
An atrium is the central courtyard of a Roman house. Every room opens onto it, each with a purpose, a fixed location, things that belong there. You stand in the atrium and go to any room. You don't scroll through rooms. You don't tag them. You go where you need to be.
Workspaces are rooms. Super+1 is trading. Super+5 is browsing. Super+7 is video, no bar, full screen. A window belongs to exactly one workspace, and calling a workspace to a monitor swaps it with whatever was there. The work of managing windows lives in spatial memory, not in your head.
What it is
The compositor
A fork of niri (Rust, Smithay) with a fixed workspace model and five stateless tiling algorithms: master-stack, centered-master, fibonacci, grid, monocle.
The shell
A quickshell bar and panels: workspaces, systray, audio, network, MPD, weather, feeds. One QML tree, themed from a KDL file, no GTK or Qt theme engine.
The apps
Small native Rust tools where a real program is better than a widget: a wifi and VPN manager on wpa_supplicant and openvpn, and an xdg-desktop-portal backend for screen sharing.
The base
Void Linux with runit. seatd, doas, pam_rundir, and udevil in place of elogind, polkit, and udisks. No systemd, no GNOME dependencies, no D-Bus activation of session services.
Principles
- Do one thing well. The compositor manages windows. Bars, notifications, launchers, and lock screens are external programs speaking standard Wayland protocols.
- Keyboard-first. Every action has a binding, handled in the compositor. The mouse is supported, not required.
- Understand every piece. The desktop is the sum of small parts you can read, replace, and reason about. Complexity serves the user or it doesn't exist.
- Own the stack. Atrium exists so a family can run computers they understand and control, end to end, without a vendor in the loop.
Get it
Build from source on Void Linux: Getting started. The compositor, shell, and tools are on the project's git server: Source.
Bugs go to the issue tracker on the relevant repository. Security reports go to security@atrium-project.org.