给外接显示器增加环境光亮度调节
目录
macOS会根据环境光的强弱,自动调节显示器亮度,但如果有外接显示器,亮度则并不会被随之调整。从白天工作到晚上,两个屏幕的亮度差距会越来越大。
在网上找了一些方案开源和商业的方案,都不是很满意,主要原因是它们都会占用顶部一个menu位,而对于一个系统自动调节的功能来说,并没有用鼠标单击这个menu的必要。还有一些并不太需要的功能,比如根据调节颜色和色温等。另外一些应用,同步亮度居然还需要订阅。
这个方案很简单,只使用了AppleScript
和Shell
,优点如下:
- 自动调节亮度
- 开机自动启动
- 不占用dock和menu item
当然因为能力有限,还有一些改进的空间:
- 更优雅的方式获取系统当前亮度,目前用的是两个正则表达式
- 通过监听系统调节亮度的事件,而不是30秒的定时去监控
制作流程
前提
- 需要显示器支持ddc/ci.
- 需要用ddctl提供的调节亮度工具:
|
|
开始
脚本制作
打开Script Editor编辑器,复制下面代码,保存为AutoBrightness,:
|
|
注意!
保存时,文件格式选择 Application,否则timer不会触发。
开机自动启动
System Preferences -> User & Groups -> (tab)Login Items -> 添加AutoBrightness
隐藏应用图标
- 右键点击
AutoBrightness.app
-> Show Package Contents -> Contents - 打开info.plist
- 在第一个
<dict></dict>
中插入下面代码,保存退出。
|
|
EOF