小工具设置 · 方案 A 原型与交互机制演示

左侧为 设置窗口(偏好与显隐配置),右侧为 主面板快捷工具浮层(实时执行)。
在下方试着点击开关与磁贴,观察 “是否锁定外接键盘” 与 “自动解锁时间” 在方案 A 中的运行方式。

架构方案
外观
外接设备模拟
设置窗口 MonitorSettings
主面板工具浮层 QuickToolsPopover

方案 A 核心机制解答:为什么这样设计最自然?

1. 行尾开关的语义是什么?
在方案 A 中,卡片行尾的开关统一代表「在主面板浮层中显示该工具」。
· 打开:主面板浮层中出现该磁贴,功能可用;
· 关闭:主面板浮层中彻底隐藏此磁贴,参数区自动折叠。
这样三张工具卡片(键盘锁定、防休眠、不息屏)的开关语义 100% 保持一致,符合 macOS 控制中心的系统直觉。
2. 「是否锁定外接键盘」在方案 A 里怎么运作?
它升级成了「锁定的预设偏好(Default Policy)」,持久化保存。
· 默认关闭:只要用户在主面板点击锁定,自动只锁定内置键盘,外接键盘可随时打字(彻底解决外接键盘平放误触的问题);
· 手动开启:用户希望做清洁或全防时,开启此项,锁定时便会拦截全部键盘。
用户不需要每次上锁都临时配一遍,设置一次后,主面板一键落锁直接执行该偏好!
3. 「自动解锁时间」在方案 A 里怎么生效?
同样是「预设倒计时参数」(如 20 分钟)。
无论是在设置页测试锁定,还是在菜单栏浮层一键落锁,系统都会自动读取该时间,开始倒计时兜底(并在浮层磁贴右上角显示剩余时间)。
当倒计时归零时自动解除拦截,避免用户因遗忘而锁死按键。
4. 为什么旧方案会造成“没开却显示”的困惑?
在旧方案中,行尾开关被改成了 store.keyboardLocked(是否正在上锁)。平时未上锁时它必然显示为“关”。
用户以为是“我关掉了这个工具”,但控制浮层显隐的 isQuickToolVisible 依然是 true,且设置页没有入口可以关掉它,因此浮层里依然常驻。
方案 A 将「挂载显隐」与「即时动作」彻底解耦,彻底消除了这种认知错位。