断开系统布局
内置屏会从 WindowServer 的活动桌面布局里移除,鼠标不会再滑进去。
macOS 一直缺的桌面模式
如果你想把 MacBook 打开放在桌面上,但又不想窗口和鼠标跑到内置屏,Clamless 做的就是这件事。
内置屏会从 WindowServer 的活动桌面布局里移除,鼠标不会再滑进去。
断开布局后,再请求 Apple Silicon 的内置面板进入低功耗关闭状态。
外接屏断开时,Clamless 会优先把内屏接回来,避免用户拔线后只剩黑屏。
安装
下载最新 DMG,把 Clamless 拖进 Applications 后启动即可。当前版本还没有 Apple notarize,第一次打开时可能需要右键点击应用并选择打开。
把 Clamless.app 拖进 Applications。
在设置里勾选哪些外接显示器可以触发自动开关。
工作原理
Clamless 使用私有 SkyLight 显示接口,把内置屏从当前桌面布局里断开或接回。
布局断开之后,再通过 Apple Silicon framebuffer API 请求内置面板熄屏或唤醒。
自动恢复结合轮询、显示器回调、IORegistry 事件和布局检查,外接屏消失时优先恢复内屏。
clamless-display status
clamless-display off --commit session
clamless-display on --commit session
内置 CLI
菜单栏应用和命令行 helper 走的是同一套显示控制逻辑。调试、自动化、查看状态时可以直接用它。
现实边界
Clamless 依赖 macOS 私有 API。也正因为如此,它才能做到系统设置里没有的行为;但 Apple 未来也可能改掉这些接口。
不收集 telemetry。
不是黑色遮罩窗口。
不是只把亮度调低。
不声称内置面板会从 IORegistry 消失。