Finish the wonderland: System told truthfully, in eight tabs instead of ten

Claude-Session: https://claude.ai/code/session_01Ms2FbjQy31TVf3CEvQhGM8
This commit is contained in:
Gabriel Brown
2026-08-24 23:31:52 -04:00
parent 9ffaf45a4d
commit be0e55214b
57 changed files with 5040 additions and 925 deletions
+31
View File
@@ -55,6 +55,21 @@ fail() {
# Fedora", explaining that GNOME's file-history switches would not take effect
# in a Hyprland session anyway -- is gone, because the switches it was
# apologizing for are now buttons that work.
# "color" joined with the same argument, one page over. System Health's Fedora
# card offered Color profiles because Panama's Displays page did not have them;
# it has had them per display for some time -- automatic, sRGB, wide gamut or
# HDR, with bit depth and SDR brightness beside them -- so the row was pointing
# at GNOME for something the desktop's own display page does better, since it
# is the page that knows which output you mean.
#
# "system region" joined when Region & Language stopped being a page that
# offered a language picker and a link, and its contents became the Language &
# formats card on Date, Time & Region: a language picker, four per-category
# format dropdowns backed by the installed locales, and a live preview of what
# each choice actually renders. GNOME's panel does the same job with the same
# locales, so a row pointing at it is now a door out of a page that does the
# thing. The retired page carried two: that one, and an "Open appearance"
# handoff left over from when the fonts lived here.
declare -A OWNED=(
[network]=connectivity
[wifi]=connectivity
@@ -64,6 +79,8 @@ declare -A OWNED=(
[users]=users
[system\ users]=users
[privacy]=privacy
[system\ region]=datetime
[color]=displays
)
# Handoffs that are correct despite naming an owned panel, with the reason.
@@ -127,6 +144,20 @@ if grep -q 'openGnomePanel' "$settings_dir/PrivacyPage.qml"; then
violations=$((violations + 1))
fi
# The same, for the page that no longer exists. RegionPage's two handoffs went
# with the file, but the card they sat in moved to DateTimePage, and a card can
# be moved with its rows intact -- so this is asserted against the page that
# received the content rather than against the one that was deleted.
if [[ -e "$settings_dir/RegionPage.qml" ]]; then
printf 'gnome handoff contract: RegionPage.qml still exists; its route retired to datetime\n' >&2
violations=$((violations + 1))
fi
if grep -q 'openGnomePanel' "$settings_dir/DateTimePage.qml"; then
printf 'gnome handoff contract: DateTimePage opens a GNOME panel for something it now does itself:\n' >&2
grep -n 'openGnomePanel' "$settings_dir/DateTimePage.qml" >&2
violations=$((violations + 1))
fi
if (( violations > 0 )); then
printf 'Each of these sends someone to GNOME for a page this app already has.\n' >&2
exit 1