一个 macOS 菜单栏(托盘)小工具,用 Rust 编写。
它的作用:当你连接了一块指定的外接显示器时,自动关闭 MacBook 的内建显示器;当你拔掉它时,自动把内建显示器点亮。同时也可以在托盘菜单里手动开关任意一块显示器(内建或外接)。
https://github.com/CakeAL/lidup/releases
运行后,右上角菜单栏会出现 lidup 图标,菜单包含:
- Auto-off built-in when connected — 选择哪块外接显示器作为「自动关闭内建屏」的触发显示器(选 None 则关闭自动功能)。选中后:
- 插入该外接显示器 → 自动关闭内建屏;
- 拔掉该外接显示器 → 自动点亮内建屏。
- 每块显示器的开关(
▶ on/■ off)— 手动开关任意显示器。 - Start at Login — 开机自启(注册登录项)。
- Quit — 退出,并恢复内建显示器。
lidup list # 查看当前显示器及开关状态
lidup selftest # 把内建屏关-开一次自检(结束后会恢复)
lidup recover # 强制把内建屏点亮
lidup autostart on|off # 开关开机自启- 「自动关闭」只在选择绑定某块外接屏后生效;绑定显示器插上时内建屏保持关闭,拔掉时自动点亮。
- 你在菜单里手动开关某一台显示器后,自动功能会被置为
None,不再干扰你的手动操作。 - 为安全起见,lidup 不会让所有显示器同时熄灭——总会保证至少有一块是点亮的。
设置保存在 ~/Library/Application Support/lidup/config.json(可用 LIDUP_CONFIG 环境变量改路径)。
需要安装 Xcode 命令行工具和 Rust 工具链。
./pack.sh # 打包成菜单栏应用(无 Dock 图标)
open target/release/lidup.app # 运行也可以直接跑命令行二进制(会显示 Dock 图标):
cargo run --release