以编程方式更改OS X菜单栏

时间:2016-08-19 03:00:57

标签: macos settings osx-elcapitan

我一直在寻找一个脚本解决方案,将默认情况下将OS X菜单栏更改为Dark主题。我知道您可以从“系统偏好设置”>中访问此设置。一般>使用黑暗主题复选框,但打开系统偏好设置需要花费一点时间。此外,我通常在夜间运行Flux,但在白天杀死它,并且Flux会自动强制将菜单栏更改回默认灯光样式(这就是为什么我经常更改它,以及为什么我需要更快的解决方案)

我查看了man defaults Apple OS X系统的读/写命令,我终于找到了相关的设置:

$ defaults read "Apple Global Domain" AppleInterfaceStyle

返回

Dark

如果样式设置为暗,或

The domain/default pair of (kCFPreferencesAnyApplication, AppleInterfaceStyle) does not exist

如果不是(这似乎很奇怪,默认只是一个空属性)。

所以我试过了:

$ defaults write "Apple Global Domain" AppleInterfaceStyle Dark

此命令“有效”(它返回时没有错误,退出代码0,尝试defaults read声称已经设置了“黑暗”主题)但是没有在视觉上将菜单栏或Sherlock样式更改为黑暗的主题。当我检查系统偏好设置>一般情况下,复选框仍未选中:即使重新启动Finder也不会重绘具有黑色主题的菜单栏。

我应该使用不同的命令吗?我已经检查了defaults domains,但似乎没有其他相关的域名我应该修改。是否有命令强制重绘Finder我不知道?或者这是一个失败的原因?

谢谢!

1 个答案:

答案 0 :(得分:8)

您可以使用 AppleScript 来执行此操作:

这是在终端中使用的命令(此命令在正常模式和黑暗模式之间切换):

osascript -e 'tell application "System Events" to tell appearance preferences to set dark mode to not dark mode'

另一种解决方案:

  • 请参阅this page以启用键盘快捷键 (命令 + 选项 + 控制 + t )可在黑暗和光线模式之间切换。