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:
@@ -13,7 +13,13 @@ fail() {
|
||||
# rebuild touched all four Connections-category pages at once: three of them had
|
||||
# never been checked for the page scaffold at all, and a rebuild is exactly when
|
||||
# a hand-rolled Flickable comes back.
|
||||
pages=(Home MyHome Phone Displays Connectivity Firewall Printers Sharing Bar Dock ControlCenter Tiling Workspaces Sync Sound Shortcuts Mouse Dictation Notifications Focus ScreenIntelligence Health About)
|
||||
# Updates, DateTime and Containers joined when the System rebuild touched all
|
||||
# of them at once. Containers is the one this check was waiting for: its root
|
||||
# was a bare Item, so it had never had the page scaffold at all, and every
|
||||
# convention the scaffold carries -- the scroll behaviour, the header, the
|
||||
# padding -- was hand-rolled there and quietly different from the other
|
||||
# twenty-five pages.
|
||||
pages=(Home MyHome Phone Displays Connectivity Firewall Printers Sharing Bar Dock ControlCenter Tiling Workspaces Sync Sound Shortcuts Mouse Dictation Notifications Focus ScreenIntelligence Health About Updates DateTime Containers Manual)
|
||||
for page in "${pages[@]}"; do
|
||||
page_file="$repo_dir/config/dot/quickshell/modules/settings/${page}Page.qml"
|
||||
[[ -f "$page_file" ]] || fail "${page}Page.qml is missing"
|
||||
@@ -359,7 +365,13 @@ shell_pid="$harness_pid"
|
||||
# four different categories, and the page the tab strip was introduced for.
|
||||
# Routing to a tab must land on that tab, not on whatever its category opens
|
||||
# first, which is the failure the SettingsRoutes resolution could introduce.
|
||||
pages=(home appearance displays connectivity my-home phone bar dock control-center tiling workspaces sync sound dictation notifications focus screen-intelligence shortcuts mouse services manual about)
|
||||
#
|
||||
# The four System leaves at the end are the ones the consolidation moved.
|
||||
# `updates` and `datetime` were rebuilt, `containers` changed its root type,
|
||||
# and `manual` stopped being a tab and became a hidden leaf -- which is exactly
|
||||
# the kind of change that keeps a page loading fine while making it
|
||||
# unreachable, so each one is opened for real here.
|
||||
pages=(home appearance displays connectivity my-home phone bar dock control-center tiling workspaces sync sound dictation notifications focus screen-intelligence shortcuts mouse services manual about updates datetime containers)
|
||||
for page in "${pages[@]}"; do
|
||||
qs_for_test ipc call settings page "$page" >/dev/null
|
||||
for _ in $(seq 1 20); do
|
||||
@@ -386,6 +398,17 @@ done
|
||||
[[ "$(qs_for_test ipc call settings status | jq -r .page)" == "bar" ]] \
|
||||
|| fail 'the retired "desktop" id no longer resolves to the Bar tab'
|
||||
|
||||
# Region & Language merged into Date, Time & Region. Its id is held by two
|
||||
# Vicinae commands, the deep links in the manual, and anybody who ever typed
|
||||
# it, so it has to land on the tab that absorbed it rather than on Home.
|
||||
qs_for_test ipc call settings page region >/dev/null
|
||||
for _ in $(seq 1 20); do
|
||||
[[ "$(qs_for_test ipc call settings status | jq -r .page)" == "datetime" ]] && break
|
||||
sleep 0.1
|
||||
done
|
||||
[[ "$(qs_for_test ipc call settings status | jq -r .page)" == "datetime" ]] \
|
||||
|| fail 'the retired "region" id does not resolve to the Date, Time & Region tab'
|
||||
|
||||
/usr/sbin/hyprctl -j binds | jq -e '.[] | select(.description == "Settings" and .key == "I" and .modmask == 64)' >/dev/null \
|
||||
|| fail 'Super+I is not registered as Panama Settings'
|
||||
/usr/sbin/hyprctl -j binds | jq -e '.[] | select(.description == "Screen Intelligence" and .key == "S" and .modmask == 65)' >/dev/null \
|
||||
|
||||
Reference in New Issue
Block a user