Tier 0: render what the services already decided, honestly
Claude-Session: https://claude.ai/code/session_01Ms2FbjQy31TVf3CEvQhGM8
This commit is contained in:
@@ -4,6 +4,7 @@ set -euo pipefail
|
||||
|
||||
repo_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)"
|
||||
service="$repo_dir/config/dot/quickshell/services/Displays.qml"
|
||||
page="$repo_dir/config/dot/quickshell/modules/settings/DisplaysPage.qml"
|
||||
harness="$repo_dir/config/dot/quickshell/displays-harness.qml"
|
||||
|
||||
fail() {
|
||||
@@ -46,6 +47,20 @@ done
|
||||
rg -q 'vrrMode\s*(!==\s*-1|>\s*-1|>=\s*0)' "$service" \
|
||||
|| fail 'nothing in the service decides when the vrr key is omitted, so following the global policy would be written as an override'
|
||||
|
||||
# ── The pickers show what you chose, for as long as the choice is undecided ──
|
||||
#
|
||||
# confirm() is what writes, so during the keep-or-revert window nothing is
|
||||
# stored yet and currentLayout() answers vrrMode from the PREVIOUS stored
|
||||
# record -- the one field the compositor cannot report. The variable-refresh
|
||||
# picker therefore snapped back to its old value the instant the change was
|
||||
# applied, while the banner beside it asked whether to keep the change it had
|
||||
# just stopped showing. The requested layout is what the page must render until
|
||||
# the window closes.
|
||||
rg -Fq 'Displays.awaitingConfirmation && Displays.pendingRequestedLayout' "$page" \
|
||||
|| fail 'the displays page ignores the requested layout during confirmation, so a picker snaps back while the Keep banner is still up'
|
||||
rg -Fq 'Displays.pendingRequestedLayout.find(entry => entry.name === name)' "$page" \
|
||||
|| fail 'the displays page does not read the selected output out of the requested layout'
|
||||
|
||||
rg -Fq 'function applyLayoutFixture(' "$harness" \
|
||||
|| fail 'the fixture cannot exercise complete layout transactions'
|
||||
rg -Fq 'function injectReadback(' "$harness" \
|
||||
|
||||
Reference in New Issue
Block a user