macOS Menu Bar Utility

一个开关,
真正断开你的显示器

DisplaySwitch 把外接屏从系统里拿掉——不是盖黑、不是压亮度。 关掉后「系统设置 → 显示器」里会消失,再拨一下即可重连。与 Lunar BlackOut 同一条 SLS 路径。

macOS 12+ Apple Silicon 真断开 主屏始终受保护 开源可构建

只做一件事,做对它

菜单栏常驻、一屏一行。主屏不能关,外接屏拨开关即断开/重连。

01

SLS 真断开

走 SLSConfigureDisplayEnabled + 永久显示配置, 显示器退出 online 列表,系统设置里不再出现——不是视觉黑屏。

02

智能回退

SLS 不可用或失败时,依次尝试 DDC 电源(VCP 0x0C),再退到镜像 + Gamma 归零,保证总有办法关掉。

03

安全护栏

主屏禁止关闭;不会断开「最后一台活动显示器」;退出时清理软件黑屏,但尊重你手动断开的状态。

关掉之后发生了什么

与 Lunar BlackOut 的 Disconnect、以及同类工具相同的私有 SkyLight 调用序列。

你拨下开关

菜单栏里关掉某台外接显示器。

Begin 配置

CGBeginDisplayConfiguration 开启一次显示配置事务。

SLS 禁用

SLSConfigureDisplayEnabled(cfg, id, false) 标记该屏为禁用。

永久提交

CGCompleteDisplayConfiguration(.permanently) 让断开真正粘住。

再打开

同一路径 enabled = true,显示器回到桌面与系统设置。

失败怎么办

自动回退 DDC → 镜像 + Gamma;仍失败则弹出说明,不会静默卡死。

幽灵屏不进菜单

只显示在线的屏,以及「我们断开过的」屏;系统残留 ID 一律忽略。

和「软件压黑」差在哪

很多工具只是让画面变黑;DisplaySwitch 让系统认为这台显示器不在了。

DisplaySwitch · 真断开

  • 系统设置 → 显示器中消失
  • 释放该屏的桌面空间与 GPU 合成负担
  • 菜单里仍可一键重连
  • 与 Lunar BlackOut Disconnect 行为对齐

仅遮罩 / 压亮度

  • 系统设置里显示器仍然在
  • 仍占用镜像关系或 Gamma 表
  • 容易误触、看起来像「假关」
  • 退出应用往往还要恢复一堆状态

三步装进 Applications

下载 DMG,拖拽安装;或从源码用脚本打包。菜单栏常驻,无 Dock 图标。

下载 DMG GitHub

首次打开若被 Gatekeeper 拦截:系统设置 → 隐私与安全性 → 仍要打开。

# 从源码构建 git clone <repo> && cd DisplaySwitch ./scripts/package_dmg.sh # → dist/DisplaySwitch-0.1.0.dmg # 命令行 DisplaySwitch --list DisplaySwitch --power off