对于熬夜党和夜猫子来说,「手机或电脑屏幕能不能再黑一点、暗一点」可能是心中想得最多的事情之一。黑暗环境中,屏幕亮度已经最低却依旧亮瞎双眼,则是时常感受到的痛苦。macOS Mojave 带来了全新的全局暗色模式,毫无疑问是众多新特性中最吸引人的方面之一,也是很多人翘首以盼的功能。想要切换外观模式,「只需」:

  1. 打开「系统偏好设置」。
  2. 选择「通用」面板。
  3. 点击切换至需要的外观模式。

不得不说,有些麻烦,更何况可能要每天切换。不过,我们有了新的选择。

菜单栏中的「猫头鹰」

近日,有开发者编写了一款免费的菜单栏小应用 NightOwl,可以快捷切换外观模式。

从 官网下载 并打开后,菜单栏中就会出现一个有些呆萌的猫头鹰图标。首次打开会出现授权对话框:「NightOwl 想要控制应用程序 System Events」,选择「好」即可。这是由于 macOS Mojave 引入了更加全面、严格的系统权限管理,以后在使用 macOS 系统过程中会经常遇到的。如果你想要对此类授权进行管理,打开「系统偏好设置 - 安全性与隐私」的「隐私」面板,选择左侧的「自动化」,就可以看到。

点击菜单栏图标,弹出的面板中能够快捷切换「亮色(Light)/暗色(Dark)」模式,比起在系统偏好中切换要方便得多。切换下试试,音效也很有趣。还有一个更加方便的小窍门:右键点击猫头鹰图标就可以切换。而且,还有「日出/日落(Sunrise/Sunset)」自动切换功能。不过这需要开启地理位置服务并授权给应用,在勾选「Sunrise/Sunset」时按照提示进行即可。

应用界面

在上图的界面中,点击左下角的齿轮图标,可打开其偏好设置。这里可以选择是否「开机启动(Run on Boot)」、「播放音效(Play Sound)」与「发送统计数据(Send Statistics)」。

偏好设置

需要说明的是:为了改进应用,NightOwl 使用 Google Analytics 收集一些匿名数据,当然这在国内是行不通的🤣。可在偏好设置中不勾选「Send Statistics」,以禁用数据收集。

如果你很喜欢这款应用,也可以到 官网 中给作者打赏一杯咖啡(需 PayPal)以鼓励这些创作者。

遗憾的是,该应用只适用于 macOS 10.14 Mojave 版本及以上的系统。但是,我们还有下面的方法。

异曲同工:核心脚本+自动化工具

这段 AppleScript 代码同样可以实现切换外观模式的功能。该代码则适用于各系统版本,对于 macOS 10.14 版本以下的简略版暗色模式(仅作用于菜单栏与程序坞)也有效。相比上面的应用,更加方便各路高手根据自己的需要进行配置。要注意的是,手动开关黑暗模式时会关闭 Mojave 的动态桌面。

我们来简单地分析下:

  1. 嵌套的 tell application "System Events"tell appearance preferences 含义显而易见,就是告诉「System Events」中的「appearance preferences」程序之后的命令。
  2. set dark mode to not dark mode 则是要告诉的命令内容——「将暗色模式(dark mode)设置为与原来相反的状态」,也就是开启或关闭暗色模式。

利用系统自带应用设置快捷键

> 下载链接 🔗

通过系统自带的「自动操作(Automator)」应用可以为上述代码设置一个快捷键。

首先,打开「自动操作」,选择新建一个服务,然后如下图所示进行设置。注意需要设置为「没有输入」和「任何应用程序」,这是因为我们是借助这个功能设置快捷键,不需要输入,而且要让快捷键在任何情况下都有效。

自动操作

然后,打开「系统偏好设置 - 键盘」中的「快捷键」面板,选择左侧的「服务」,找到「通用」分类中的「切换外观模式」,设置为适合自己的快捷键。

设置快捷键

Alfred Workflow 快捷动作

> 下载链接 🔗

习惯使用 Alfred 的读者也可以通过创建 Workflow 来运行这段代码。

Workflow 配置如下图,这里可以设置两种触发方式——关键词、快捷键。

Alfred Workflow

Keyboard Maestro 定时运行

> 下载链接 🔗

使用自动化神器 Keyboard Maestro,除了设置快捷键,也可以设置为定时运行的自动化任务。这里需要使用下面两段代码:

开启暗色模式

关闭暗色模式

与之前相比,这两段代码中 set dark mode to not dark mode 变为了 set dark mode to true/false,也就是明确了开启(true)或关闭(false)的状态。

作为示例,我使用了一个「定时触发器」在每天 19:30 运行开启暗色模式的 AppleScript 代码。同样也可以设置一个「关闭暗色模式」的定时任务。

Keyboard Maestro 任务

小结

写完这篇文章,不禁再次感叹 macOS 系统真好玩。有各路高手及时跟进新版本新特性,创造贴心的小应用。还有各种自动化神器,充分发挥用户的想象力。