如何为 Mac 上的每个应用程序自动设置深色模式!单独切换到每个特定应用程序

在本文中:如何为 Mac 上的每个应用自动设置深色模式我会解释一下。

当您想要根据应用程序打开/关闭深色模式(无论设备的整体外观模式如何)的情况下,这非常有用。

相关文章 如何为 iPhone/iPad 上的每个应用自动设置深色模式

相关文章如何为 Android 上的每个应用自动设置深色模式

如何为特定应用程序切换暗模式

我将介绍3种模式。

  1. 使用 Gray 应用程序设置
  2. 配置快捷方式自动化
  3. 使用 Hammerspoon 代码进行配置

这是一个比较。

如果您只想将特定应用程序设置为浅色模式,即使整个设备的外观模式为深色模式,1 是最简单且推荐的。

如果是相反模式(仅适用于特定应用程序的深色模式),则支持 2 和 3。第 3 步比较困难,但它可以检测应用程序不活动并进行切换。

1. 使用 Gray 应用程序设置

灰色的通过应用程序,即使整个设备的外观模式为深色模式,您也可以将特定应用程序设置为浅色模式。

相反的模式(即使整个设备的外观模式是浅色模式,也适用于特定应用程序的深色模式)是不可能的。如果您想实现这一点,请使用下一部分介绍的方法2和3。

GitHub从此处安装并启动 Gray 应用程序。

如果出现“无法打开”消息且无法启动程序,相关文章请。

从发行版下载最新版本

解压下载的 zip 文件并将内容移动到应用程序文件夹

当您启动 Gray 应用程序时,将显示应用程序列表。

单击您不想应用深色模式的应用程序,光亮外观让我们切换到

如果您单击它,应用程序将重新启动。如果您正在处理某些事情,请在执行此操作之前保存它。

仅第一次,您将在设置过程中收到各种访问权限的通知,因此请允许它们。

制作 CotEditor Light 外观的示例

这就是设置的全部内容。

即使你将整个设备的外观模式切换为深色模式,如果指定的应用仍保持浅色模式,则说明成功。

即使在深色模式下 CotEditor 仍保持浅色模式的示例

此外,如果您点击该应用程序深色外观可以切换到,但是不行。

CotEditor 深色外观示例

CotEditor 在光照模式下保持光照模式的示例

这就是解释。

下面是题外话(有兴趣请留言)。

Gray 应用程序通过执行以下命令来工作。

defaults write <Identifier> NSRequiresAquaSystemAppearance -bool YES

您可以通过在终端中运行它来实现相同的目的,因此您无需费心安装 Gray 应用程序。

如果您对操作有信心,请尝试一下。

执行命令后,重新启动目标应用程序即可生效。

针对 CotEditor 应用程序运行的示例。深色模式将不再反映在 CotEditor 中。

对于 <Identifier>,指定要为其设置暗模式的应用程序 ID。

可以使用以下命令进行检查。

osascript -e 'id of app "App Name"'

检查 CotEditor 的应用程序 ID 的示例

如果您想恢复它,只需运行以下命令即可。

defaults delete <Identifier> NSRequiresAquaSystemAppearance

将设置恢复到 CotEditor 应用程序的示例

与 macOS 一样,该命令没有相反的模式(即整个系统处于浅色模式,部分应用程序处于深色模式)。

因此,即使使用此命令运行的灰色应用程序也无法以相同的方式响应。

如果您想实现这一点,请使用下一部分介绍的方法2和3。

2. 配置快捷方式自动化

预装应用程序捷径使用。

单击自动化旁边的 + 图标以创建新的自动化。

打开快捷方式

点击红框创建新的自动化

单击“应用程序”并选择要单独设置暗模式的应用程序。

应用程序

选择 CotEditor 应用程序的示例

选中“打开”和“立即运行”。到下一个继续。

此外,运行时通知把它去掉就可以了。

立即打开/运行 → 下一步

新快捷方式打开它,在搜索栏中输入“外观”,设置外观模式继续。

新快捷方式

在搜索栏中输入“外观”并设置外观模式。

确认选择“将外观模式更改为深色”,创建完成。

如果您想在使用指定应用程序时使用浅色模式(背景为白色),请选择“将外观模式更改为浅色”。

将外观模式更改为深色

如果这就是您所做的全部,即使您关闭指定的应用程序,深色模式也会保留,所以让我们创建另一个自动化。

按照之前的流程,选择指定的应用程序,勾选“关闭”和“立即运行”,到下一个继续。

从红框+图标添加自动化

关闭/立即运行同一应用程序 → 下一步

和以前一样创建新快捷方式设置外观模式继续“将外观模式更改为灯光”并确认创建完成。

如果您想在关闭指定应用程序后切换到深色模式(背景为黑色),请选择“将外观模式更改为深色”。

将外观模式更改为浅色

两次自动化完成

让我们首先打开指定的应用程序。

如果关闭应用程序时自动切换为深色模式并返回原来的外观模式,则说明成功。

打开 CotEditor 时会自动开启深色模式

CotEditor 关闭时深色模式自动关闭

这就是解释。

请注意,这里的“关闭应用程序”是指“退出应用程序()”。

换句话说,以下所有情况都被确定为“正在启动”,并且不会激活自动化(=不会切换深色模式)。

  • 切换到另一个应用程序
  • 只需关闭窗口(
  • 最小化(中号
  • 进入后台

如果您在上述情况下仍想切换到深色模式,请使用方法3,该方法将在下一部分中介绍。

3.使用Hammerspoon代码进行配置

锤勺我们使用一个名为的自动化工具。

官方网站(https://www.hammerspoon.org/) 请安装最新版本。

如果出现“无法打开”消息且无法启动程序,相关文章请。

点击红框下载

下载最新版本

解压下载的 zip 文件并将内容移动到应用程序文件夹

当您启动 Hammerspoon 时,菜单栏中会出现一个图标。

点击打开配置继续。

打开配置

输入下面的代码。

local appWatcher = hs.application.watcher.new(function(name, event, app)
if name == "App Name" then
if event == hs.application.watcher.activated then
hs.osascript.applescript('tell application "System Events" to tell appearance preferences to set dark mode to true')
elseif event == hs.application.watcher.deactivated then
hs.osascript.applescript('tell application "System Events" to tell appearance preferences to set dark mode to false')
end
end
end)

appWatcher:start()

家”应用程序名称输入您要单独设置暗模式的应用程序的名称,以代替“。

对于应用程序名称,最好从应用程序列表中复制名称。

复制应用程序名称

例如如果你想单独设置Safari的深色模式,请使用以下代码。

local appWatcher = hs.application.watcher.new(function(name, event, app)
if name == "Safari" then
if event == hs.application.watcher.activated then
hs.osascript.applescript('tell application "System Events" to tell appearance preferences to set dark mode to true')
elseif event == hs.application.watcher.deactivated then
hs.osascript.applescript('tell application "System Events" to tell appearance preferences to set dark mode to false')
end
end
end)

appWatcher:start()

将 Safari 切换为深色模式的代码

输入代码后保存然后退出 Hammerspoon 并再次启动。

除非关闭并启动它,否则编辑的代码将不会反映出来。

保存

退出 Hammerspoon 后,重新启动

这就是设置的全部内容。

让我们首先打开指定的应用程序。

如果关闭应用程序时自动切换为深色模式并返回原来的外观模式,则说明成功。

这里的“关闭应用程序”包括以下所有模式。

  • 退出应用程序(
  • 切换到另一个应用程序
  • 只需关闭窗口(
  • 最小化(中号
  • 进入后台

打开 Safari 时的深色模式示例

Safari 在不活动时进入浅色模式的示例

上面的代码模板描述了一种仅将特定应用程序设置为暗模式的模式。

如果您想要相反的模式(仅适用于特定应用程序的浅色模式),请单击第二个红色真的第三个赤字错误的请更换。

例如对于Safari,代码如下。

local appWatcher = hs.application.watcher.new(function(name, event, app)
if name == "Safari" then
if event == hs.application.watcher.activated then
hs.osascript.applescript('tell application "System Events" to tell appearance preferences to set dark mode to false')
elseif event == hs.application.watcher.deactivated then
hs.osascript.applescript('tell application "System Events" to tell appearance preferences to set dark mode to true')
end
end
end)

appWatcher:start()

这就是解释。

Hammerspoon 非常有用,因为它可以检测指定应用程序的不活动状态并在深色模式和浅色模式之间切换。

另一方面,每次切换时屏幕都会闪烁,因此如果它不适合您,请尝试上一部分中的方法 1 和 2。

〆:为每个应用程序单独设置黑暗主题!

以上、如何为 Mac 上的每个应用程序自动设置深色模式!单独切换到每个特定应用程序这就是解释。

如果你想让某个特定的应用程序始终处于深色模式(或浅色模式),除了整个设备的外观模式之外,你可以使用这里介绍的方法来实现。

我们推出了三种不同的程序来满足您的需求,因此请尝试一下。

相关文章 如何在 Mac 版 Safari 中使用深色模式

相关文章 如何在PC版Chrome上使用深色模式