Binaryify / MonitorBar
git clone https://github.com/Binaryify/MonitorBar.git
v1.11.0 · 1d ago
macOS 菜单栏 / Windows 托盘的显示器管理工具:不依赖 DDC/CI,通过澎湃 OS 局域网接口切换输入源、调节音量
—
stars, 24h
+154
stars, 7 days · #348
+154
stars, 30 days · #1,579
154
★ total · +154% this week
11
forks · 4 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageGo
LicenseMIT
Created2026-10-15 (5d ago)
Last push1d ago
Watchers0
OwnerUser
Links
README excerpt
MonitorBar macOS 菜单栏 / Windows 托盘里的显示器管理工具,一份 Go 代码,两端原生界面。 A menu bar (macOS) and tray (Windows) app to manage your monitor — English ## 为什么做这个 REDMI 显示器不支持 DDC/CI。 Mac 上常见的显示器工具(MonitorControl、BetterDisplay、Lunar 等)都靠 DDC/CI 控制显示器,所以在 REDMI 显示器上切换不了输入源,也调不了音量。 不过 REDMI 显示器内置澎湃 OS,开机时会在局域网提供一个遥控接口。MonitorBar 通过这个接口切换输入源(包括 DP 和 USB-C)、调节音量,不依赖 DDC/CI。软件调光、色温、分辨率、屏幕时间这些通用功能也一起做了进去,并且有 Mac 和 Windows 两个版本:两台电脑接在同一台显示器上时,在任意一台上都能一键切到另一台。 MonitorBar 只在 REDMI 显示器 G Pro 27U 2026 上测试过,不保证在你的显示器上能正常工作:不同型号的接口、信号源编号可能不一样。如果不能用,可以借助 AI 编程工具来适配:先运行 `MonitorBar --probe` 看看它识别到了什么,再让 AI 参照下面的适配其他显示器一节修改代码。 ## 功能 | 分页 | 功能 | | --- | --- | | 概览 | 当前分辨率与刷新率、**切换输入源**、软件亮度、**显示器音量**、场景(日间 / 阅读 / 观影 / 夜间) | | 画面 | 场景、**跟随 MacBook 内屏亮度**、**按时间自动切换白天 / 夜晚场景**、色温(减少蓝光)、一键恢复、**亮度与音量快捷键** | | 分辨率 | **一键切换 4K 160Hz / 1080p 320Hz**(澎湃 OS 双模显示器)、刷新率切换,HiDPI(仅 macOS)与标准分辨率列表 | | 屏幕时间 | 今日亮屏与使用时长,最近 7 天柱状图 | - **切换输入源、调音量不需要 DDC/CI**:澎湃 OS 显示器(如 REDMI 显示器 G Pro 27U 2026)在局域网提供遥控接口,MonitorBar 自动发现并使用它。Mac 和 Windows 接在同一台显示器的不同接口上时,两边都能一键切到对方。 - **一键切换 320Hz 竞技模式**:G Pro 27U 这类双模显示器在 4K 160Hz 和 1080p 320Hz 之间切换要换 EDID,原本只能在显示器菜单里操作。连上澎湃 OS 局域网接口时,「分辨率」页一键切换,不用碰显示器;切换后系统会在几秒内重新识别显示器。 - **支持 DDC/CI 的显示器**:自动用 DDC/CI 调硬件背光,切换输入源、调音量,并显示对比度、锐度、RGB 增益等显示器回应的设置。 - **软件调光与色温**通过显卡的 Gamma 表实现,任何连接线、任何显示器都能用。 - **组合亮度**(支持 DDC/CI 的显示器):一个滑块管到底,50% 以上调硬件背光,50% 以下背光停在最低、改用软件调光继续压暗,比显示器自身的最低亮度更暗。 - **快捷键**:默认 ⌃⌥↑ / ⌃⌥↓ 调亮度、⌃⌥⇧↑ / ⌃⌥⇧↓ 调音量(Windows 上是 Ctrl+Alt),在「画面」页点一下就能录制新的组合键,或按 Delete 清除;F1–F12 可以单独作为快捷键。显示器的每个输入源也可以录制一个快捷键(默认未设置),按下即切换。「静音 / 取消静音」同样可以录制(比如 F10),再按一次恢复静音前的音量。 - **接管键盘亮度、音量键**(macOS,高级选项):打开后不按 fn,直接用键盘上的亮度键调外接显示器;声音输出到显示器时,音量键调它的音量。需要在「隐私与安全性 → 辅助功能」中允许 MonitorBar;MacBook 内屏的亮度键照常生效,开启「跟随内屏亮度」时亮度键交给跟随功能。 - **跟随内屏亮度**(MacBook + 支持 DDC/CI 的外接显示器):内屏开启 macOS 自动亮度时,外接显示器的背光随之平滑调节,可设定外接亮度范围;手动调整会保留到内屏亮度下次变化。 - **自动切换**:在「画面」里打开后,到了设定的白天、夜晚开始时间就自动切换到对应场景(默认 07:00「日间」、19:00「夜间」,场景可选)。只在时段交替时切换,中途的手动调整会保留到下一次交替。 - **自动更新**:定期检查 GitHub 上的新版本,在面板底部提示,一键下载并重启;更新包经签名校验,只下载变化的部分。 - 显示器不支持的功能不会出现在界面上。 - **多语言**:简体中文和英文,跟随系统语言,也可在「⋯ → 语言」中切换。文案在 `locales/` 下(`en.json` 为源语言),改动后运行 `go tool mygo generate` 重新生成 `catalog_gen.go`。 - 单个可执行文件,无 webview,空闲时不占 CPU;中文界面,深色主题。 ### 普通显示器也能用 不是澎湃 OS、也不支持 DDC/CI 的显示器同样可以用 MonitorBar,只是功能少一些: | 显示器 | 可用 | 不可用 | | --- | --- | --- | | 澎湃 OS 显示器 | 输入源、音量、软件调光、色温、场景、分辨率、屏幕时间 | 硬件背光(除非同时支持 DDC/CI) | | 支持 DDC/CI 的显示器 | 全部功能,亮度调的是硬件背光 | — | | 两者都不支持的普通显示器 | 软件调光、色温、场景与自动切换、分辨率与刷新率、屏幕时间 | 切换输入源、调音量、硬件背光、跟随内屏亮度 | 软件调光只是让画面变暗,背光亮度不变,所以调得很暗时对比度会下降。不确定显示器支持哪些通道时,运行 `MonitorBar --probe` 查看。 ## 安装 从 Releases 或 CI 产物 下载: - **macOS**(Apple Silicon / Intel,macOS 12+):打开 `.dmg`,把 MonitorBar 拖进「应用程序」。应用未签名,首次打开需右键 → 打开。第一次连接显示器时允许「查找本地网络上的设备」。 - **Windows 10 / 11**:把 `MonitorBar.exe` 和同目录的 `icon.png` 放到任意文件夹(推荐 `%LOCALAPPDATA%\Programs\MonitorBar`)后运行。托盘图标默认在 `^` 溢出区,可拖到任务栏常驻。 开机自启:默认关闭,由用户自己选择开启——面板右上角「⋯」→「登录时启动」,或命令行 `MonitorBar --open-at-login on`(`off` 关闭)。 ## 命令行 [code] ## 工作原理 MonitorBar 有三条控制显示器的通道,启动时在后台探测,哪条可用就用哪条: | 通道 | 能做什么 | 条件 | | --- | --- | ---