$ the-wire · showcase
Omarchy hardens its router, shell, and keyboard seat against regression
By RepoJournal · Filed · About Linux · Composed from the cited sources · methodology
Basecamp's Omarchy desktop landed a round of performance work on its command router and shell, plus the tests and event-driven input handling meant to keep those gains from slipping away.
Fail tests when the shell polls while idle or the fast paths get slow again (#15196) basecamp/omarchy
The recent performance PRs only had a sentence in AGENTS.md keeping them from regressing, so this adds tests that fail when they do: an idle shell that starts any process, a guard batch or theme switch that blows its time budget. Counting tests compare processes and tmux clients; timing tests take the fastest of several runs or compare two paths in the same run, so results hold across machines.
Resolve alias and metadata-moved routes without reading every command header basecamp/omarchy
Alias and metadata-moved routes like `omarchy screenshot` and `omarchy reboot` have no matching filename, so the router parsed the metadata header of roughly 530 command files before dispatching, about 195ms per invocation against ~5ms for filename routes. It now loads only commands that could own a route under the first word.
Read the keyboard seat again when /dev/input changes instead of every 10 seconds basecamp/omarchy
The keyboard layout widget polled `hyprctl -j devices` every 10s in each bar whenever the seat had more than one keyboard, which covers most setups with an external, KVM, or Bluetooth keyboard. Hyprland raises no device event, so the replacement watches for changes to /dev/input via a new Commons/InputDevices.qml instead.
Make the menu's slowest hardware and network guards cheap basecamp/omarchy
Every menu open runs the guard batch and shows the previous run's answers until it lands, so its runtime is how long a row can contradict the machine. Three of the slowest guards are now cheap: hybrid GPU detection went from 70-120ms to 2ms by counting PCI display controllers (class 0x03) from sysfs instead of calling lspci.
Fail tests when the shell polls while idle or the fast paths get slow again basecamp/omarchy
The same regression suite ships as a PR alongside its commit, laying out the guards it enforces: no processes spawned by an idle shell, and the shipped menu's guard batch and each guard held to a time budget with slow apps stubbed in.