languageContentWidth = 820,不再使用 settingsContentWidth = 940。NSEvent keyDown monitor。OverlayPanel 子窗口显示时接管 ESC。window.performClose(nil) 关闭 Settings;第二次 ESC 仍走既有 AppGrid 关闭路径。pro_feature_gate_qa.sh,把本次语言页宽度和 Settings ESC monitor 纳入静态门禁。.padding(.leading) 或 .offset 硬推语言列表,避免做成相对偏移;改为语言页独立内容宽度。QuickSearch.swift 的点击、回车、ESC 路径。OverlayPanel.sendEvent,不移除 AppGrid 的 isSettingsVisible 保护。/Users/ar/Projects/Taglauncher/src/Apptag/PreferencesView.swiftlanguageContentWidth = 820。centeredSettingsScrollContent(width:) 改为使用 languageContentWidth。settingsEscapeMonitor、installSettingsEscapeMonitor()、removeSettingsEscapeMonitor()。isSettingsOverlayEscapeEvent(_:) 和 handleSettingsEscapeKey()。/Users/ar/Projects/Taglauncher/src/Scripts/pro_feature_gate_qa.shsettingsContentWidth = 940,语言矩阵在该宽度内左对齐。languageContentWidth = 820,与固定设置面板宽度视觉一致,整体居中。handleOverlayEscapeKey() 在 isSettingsVisible 时返回 false,AppGrid 不关闭,但 Settings 也不关闭,导致 ESC 无效。bash build.shbash Scripts/quick_search_launch_contract_qa.shbash Scripts/pro_custom_hotkeys_qa.shbash Scripts/pro_feature_gate_qa.shbash Scripts/pro_localization_qa.shgit diff --check -- src/Apptag/PreferencesView.swift src/Scripts/pro_feature_gate_qa.shbash Scripts/window_logic_qa.sh 未跑到本次 ESC 场景,在旧的“隐藏 Dock 模式不应出现 Dock 图标”场景失败:
FAIL: expected no QA build TagLauncher Dock tile, got 1showDockIcon=false 后的旧 Dock 图标检查处,和本轮 PreferencesView.swift 改动路径无直接关联。用途:验证本轮 Settings ESC、语言页居中、Quick Search 点击/回车、Pro 门禁、本地化未回归。
前置条件:在 /Users/ar/Projects/Taglauncher/src 下执行;本地构建输出为 build/TagLauncher.app。
cd /Users/ar/Projects/Taglauncher/src
bash build.sh
bash Scripts/quick_search_launch_contract_qa.sh
bash Scripts/pro_custom_hotkeys_qa.sh
bash Scripts/pro_feature_gate_qa.sh
bash Scripts/pro_localization_qa.sh
git -C /Users/ar/Projects/Taglauncher diff --check -- src/Apptag/PreferencesView.swift src/Scripts/pro_feature_gate_qa.sh
用途:验证 AppGrid 上方打开 Settings 后,第一次 ESC 只关 Settings,第二次 ESC 关 AppGrid。
前置条件:已执行 bash build.sh,并允许本机 GUI 自动化点击。
cd /Users/ar/Projects/Taglauncher/src
open -n /Users/ar/Projects/Taglauncher/src/build/TagLauncher.app
open 'taglauncher://show'
验证步骤:
osascript -e 'tell application "System Events" to tell process "TagLauncher" to set frontmost to true'
osascript -e 'tell application "System Events" to key code 53'
期望:Settings 关闭,AppGrid 仍然可见。
osascript -e 'tell application "System Events" to key code 53'
期望:AppGrid 关闭。
清理:
osascript -e 'tell application "TagLauncher" to quit' >/dev/null 2>&1 || true
pkill -f '/TagLauncher.app/Contents/MacOS/TagLauncher' >/dev/null 2>&1 || true
搜索关键词:settingsEscapeMonitor、languageContentWidth、key code 53、taglauncher://show、Settings over AppGrid、双 ESC
window_logic_qa.sh 的隐藏 Dock 图标场景需要后续单独排查或稳定化;本轮未修改 Dock 策略。window_logic_qa.sh 的旧 Dock 场景之前或独立脚本中增加 Settings-over-AppGrid ESC 子场景,避免被无关前置场景中断。