2016-08-19 97 views
2

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

我已经看了man defaults的读/写命令苹果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称,“黑暗”的主题已定),但不改变视觉菜单栏或夏洛克风格到黑暗的主题。当我检查系统偏好设置>常规时,复选框仍未选中:即使重新启动Finder也不会重新绘制黑色主题的菜单栏。

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

谢谢!

回答

5

您可以使用的AppleScript做到这一点:

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

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

另一种解决方案:

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

谢谢!我最终使用了键盘快捷键,因为它似乎更容易使用。 – APaul