Give Input keycaps, a shortcut search, and the missing pointer basics
Claude-Session: https://claude.ai/code/session_01Ms2FbjQy31TVf3CEvQhGM8
This commit is contained in:
@@ -9,7 +9,7 @@ fail() {
|
||||
exit 1
|
||||
}
|
||||
|
||||
pages=(Home MyHome Phone Displays Connectivity Bar Dock ControlCenter Tiling Workspaces Sync Sound Dictation Notifications Focus ScreenIntelligence Health About)
|
||||
pages=(Home MyHome Phone Displays Connectivity Bar Dock ControlCenter Tiling Workspaces Sync Sound Shortcuts Mouse Dictation Notifications Focus ScreenIntelligence Health About)
|
||||
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"
|
||||
@@ -79,6 +79,24 @@ block = re.search(
|
||||
raise SystemExit(0 if block and re.search(r'zeroLabel\s*:\s*"Never"', block.group(0)) else 1)
|
||||
PY
|
||||
|
||||
# The pointer and touchpad keys added with the Input redesign, each on the page
|
||||
# its schema group routes to.
|
||||
#
|
||||
# Checked by hand rather than through require_row, because half of them render
|
||||
# through OptionPickerRow, which takes its label and options from
|
||||
# `PreferenceSchema.spec()` and commits by name -- it has no `setting:`
|
||||
# property at all. That is a deliberate pattern for dropdowns, but it means the
|
||||
# scans that look for `setting:` rows (settings-ownership-contract's
|
||||
# duplicate-key sweep, search-routing-contract's routing sweep) cannot see
|
||||
# these rows, so a key that stopped rendering would leave no other trace.
|
||||
mouse_page="$repo_dir/config/dot/quickshell/modules/settings/MousePage.qml"
|
||||
for setting in focusOnClose scrollMethod scrollButton cursorHideWhileTyping \
|
||||
cursorWarpOnWorkspaceChange touchpadClickfinger touchpadTapAndDrag; do
|
||||
rg -Fq "setting: \"$setting\"" "$mouse_page" \
|
||||
|| rg -Fq "commitPreference(\"$setting\"" "$mouse_page" \
|
||||
|| fail "MousePage.qml renders no control for $setting"
|
||||
done
|
||||
|
||||
intelligence_page="$repo_dir/config/dot/quickshell/modules/settings/ScreenIntelligencePage.qml"
|
||||
# Free text, not a choice. Three preset folders could not include the one the
|
||||
# rest of somebody's software already writes to, which is the only folder that
|
||||
@@ -311,7 +329,7 @@ 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 services manual about)
|
||||
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)
|
||||
for page in "${pages[@]}"; do
|
||||
qs_for_test ipc call settings page "$page" >/dev/null
|
||||
for _ in $(seq 1 20); do
|
||||
|
||||
Reference in New Issue
Block a user