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

APa*_*aul 3 macos settings osx-elcapitan

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

我看过man defaultsApple OS X系统的读/写命令,最后我找到了相关的设置:

$ defaults read "Apple Global Domain" AppleInterfaceStyle
Run Code Online (Sandbox Code Playgroud)

返回

Dark
Run Code Online (Sandbox Code Playgroud)

如果样式设置为暗,或

The domain/default pair of (kCFPreferencesAnyApplication, AppleInterfaceStyle) does not exist
Run Code Online (Sandbox Code Playgroud)

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

所以我尝试过:

$ defaults write "Apple Global Domain" AppleInterfaceStyle Dark
Run Code Online (Sandbox Code Playgroud)

这个命令"有效"(它返回时没有错误,退出代码0,试图defaults read声称已经设置了"黑暗"主题)但是没有在视觉上将菜单栏或Sherlock样式更改为黑暗主题.当我选中系统偏好设置>常规时,仍然取消选中该复选框:即使重新启动Finder也不会重绘具有黑色主题的菜单栏.

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

谢谢!

jac*_*300 9

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

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

osascript -e 'tell application "System Events" to tell appearance preferences to set dark mode to not dark mode'
Run Code Online (Sandbox Code Playgroud)

另一种方案:

  • 请参阅此页面以启用键盘快捷键(Command + Option + Control + t)以在Dark和Light模式之间切换.