Fold thirty-one settings pages into fifteen categories with tabs

The sidebar was a flat scan of thirty-one rows; now it reads like a
settings app. Multi-subject categories (Input, Network & Sharing,
Applications, Users & Accounts, Privacy & Security, System) carry an
Appearance-style tab strip above the page, drawn by the shell so the
leaf pages themselves are untouched. The taxonomy lives in one new
file, services/SettingsRoutes.qml; the sidebar, the strip, route
validation, search breadcrumbs, and both generators derive from it.

ShellState.settingsPage still holds leaf ids, so every deep link, IPC
call, and search result keeps working — and now lands on the exact
tab. Dictation moves out of Sound onto its own page under Input, with
a handoff back to Sound for the microphone. The strip scrolls when
System's nine tabs outgrow a tiled window. All 161 contracts pass.

Claude-Session: https://claude.ai/code/session_01Ms2FbjQy31TVf3CEvQhGM8
This commit is contained in:
Gabriel Brown
2026-08-23 20:21:31 -04:00
parent 50077a0c31
commit 5490fd285d
35 changed files with 816 additions and 288 deletions
@@ -3,7 +3,7 @@
## Start here
Run **Check System Health** from the launcher, or open Settings and go to
System Health. It reports what is actually running rather than what was
System, then the System Health tab. It reports what is actually running rather than what was
installed, and it can repair several things itself.
From a terminal, the same check is `panama doctor`.
@@ -20,8 +20,8 @@ From a terminal: `qs -d` starts the shell again.
## A shortcut stopped working
Check `Super + /` first: if the shortcut shows a different chord than you
expect, something rebound it. The Shortcuts settings page can reset any bind,
or all of them at once.
expect, something rebound it. The Keyboard page, under Input in Settings, can
reset any bind, or all of them at once.
If the whole keymap is missing from that list, the compositor config failed
to load. `Hyprland --verify-config` says why without touching your session.
@@ -47,8 +47,9 @@ harmed by being refused.
`panama migrate` applies repairs this machine has not had yet. It is safe to
run at any time and does nothing when there is nothing to do.
If an update went badly, the Snapshots settings page can roll the system back
where btrfs snapshots are configured.
If an update went badly, the Snapshots tab under System in Settings can roll
the system back. That tab is only there where btrfs snapshots are configured,
so if you cannot see it, this machine has none to roll back to.
## Reporting it