












https://github.com/Attiv/clamOpen/tree/main
一个常驻菜单栏的小工具:在连接外接显示器时,真正关闭 MacBook 内置屏(背光熄灭、停止渲染),而盖子保持打开。效果等同合盖( clamshell ),但你仍能用摄像头、Touch ID 、键盘,散热也更好。
以前搜过好像只能用俩磁铁吸到电脑上假装合盖了,现在有一个私有的 API 可以做到
ClamOpen 通过 CoreGraphics / SkyLight 的私有符号关闭内置屏:
CGError CGSConfigureDisplayEnabled(CGDisplayConfigRef config, CGDirectDisplayID display, bool enabled);
放在标准的显示器重配置事务里调用:
var config: CGDisplayConfigRef?
CGBeginDisplayConfiguration(&config)
CGSConfigureDisplayEnabled(config, builtinDisplayID, false) // false = 禁用
CGCompleteDisplayConfiguration(config, .forSession)
CGBeginDisplayConfiguration / CGCompleteDisplayConfiguration 是公开的 CoreGraphics 接口。CGSConfigureDisplayEnabled 是真正干活的私有符号。通过
dlsym(RTLD_DEFAULT, "CGSConfigureDisplayEnabled") 在运行时取得(它就在 CoreGraphics / SkyLight
内),因此不需要链接私有框架,也不需要任何 entitlement 。CGDisplayIsActive == false:背光关闭、不再渲染 —— 视觉上和合盖一致,但盖子开着。forSession 作用域表示设置只在当前登录会话有效;因此注销或重启一定会恢复内置屏。目前只在 19 款 intel mbp 上测试过,需要的可以试试
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。