macOS Mojave 中引入了系统层面的黑色模式,Chrome 73 在应用中支行了这一模式,即系统设置为黑色模式时,Chrome 会自动适应切换到 Dark Mode。



Chrome 跟随系统设置的黑色模式

很酷对不?

但其实黑色模式下标题与顶部系统菜单融为一体,且黑色模式下 Chrome 标签上内容辨识度也不高了,看起来还是有点别扭。更重要的是,这个模式让人很难区分隐身模式。



Chrome 黑色模式下与隐身模式的对比

所以决定系统使用 Dark Mode 的情况下将 Chrome 的黑色禁用。

通过命令行中设置 defaults 值可达到目的。

$ defaults write com.google.Chrome NSRequiresAquaSystemAppearance -bool Yes

如果想恢复默认,只需要将刚才设置的值删掉或者将 Yes 设置成 No

$ defaults delete com.google.Chrome NSRequiresAquaSystemAppearance

禁用任意 App 的 Dark Mode

推而广之,不仅可禁止 Chrome 进入 Dark Mode,还可让其他任意 App 不进入 Dark Mode,如果该应用支持过 Dark Mode 的话。只需要找出该应用的打包发布的 bundle id 即可。这个 id 可通过下面的命令来得到。比如查看 Canary 版本的 Chrome:

$ osascript -e 'id of app "Google Chrome Canary"'
com.google.Chrome.canary

其中 Google Chrome Canary (不区分大小写)是你在程序文件夹下看到的 .app 后缀的那个文件的文件名,比如这里 Google Chrome Canary.app。得到的 id 为 com.google.Chrome.canary 再代入最上面的命令中即可。

程序 bundle id 的查找

更为准备的方式,查找 id,是通过右键 .app 文件选择 Show Package Contents,然后找到 Contents>info.plist 文件,搜索 CFBundleIdentifier 即可看到该程序的 bundle id。

$ defaults write com.google.Chrome.canary NSRequiresAquaSystemAppearance -bool Yes

这里 id 是区分大小写的,写错不生效。

要恢复默认时同理。

一些常用软件

  • 网易云音乐

同理,设置网易云音乐关闭其黑色模式,通过 plist 文件发现其 bundle id 为 com.netease.163music

...
<key>CFBundleIdentifier</key>
<string>com.netease.163music</string>
...

设置:

defaults write com.netease.163music NSRequiresAquaSystemAppearance -bool Yes
  • iBooks:
defaults write com.apple.iBooksX NSRequiresAquaSystemAppearance -bool Yes
  • Xcode:
defaults write com.apple.dt.Xcode NSRequiresAquaSystemAppearance -bool YES

其他默认值

通过 defaults read 可查看到所有应用已经存在的的 defaults 值。

$ defaults read >> defaults.txt

打开 defaults.txt 后搜索相应 app 的 id 可看到其所有可用值的列表。比如搜索 com.google.chrome

{
"com.google.Chrome" = {
KeychainReauthorizeInAppSpring2017 = 2;
KeychainReauthorizeInAppSpring2017Success = 1;
LastRunAppBundlePath = "/Applications/Google Chrome.app";
...
};
"com.google.Chrome.canary" = {
KeychainReauthorizeInAppSpring2017 = 1;
KeychainReauthorizeInAppSpring2017Success = 1;
LastRunAppBundlePath = "/Applications/Google Chrome Canary.app";
...
};
}

相关资源

禁用 Chrome 的黑色模式/Dark Mode的更多相关文章

  1. Chrome的隐身模式

    先来说说隐身模式的启用方法吧 1.键盘快捷:Ctrl + Shift + N. 2.在Windows7下的任务栏处,右击“Chrome”图标,会出一个下拉菜单,点击“新建隐身窗口”. 3.你还可以在一 ...

  2. chrome护眼模式

    chrome护眼模式 使用stylish插件: 学习:https://jingyan.baidu.com/article/b907e627f74df146e6891c67.html 插件下载:http ...

  3. 如何禁用 Chrome Taps Group feature &#128169;

    如何禁用 Chrome Taps Group feature bug https://support.google.com/chrome/go/feedback_confirmation How to ...

  4. 彻底禁用Chrome的“请停用以开发者模式运行的扩展程序”提示

    前言 作为一个前端程序员,难免会有一些专属自己的小扩展,没必要每一个都发到Chrome应用商店去,虽然可以勾选"开发者模式"来运行本地插件,但是每次启动都会有一个烦人的" ...

  5. 禁用Chrome的“请停用以开发者模式运行的扩展程序”提示

    1.前言 每次启动都会有一个烦人的“请停用以开发者模式运行的扩展程序”提示,这个提示有多烦人,接触过的人都知道,启动的时候它不立即提示,等过了几秒钟等你打开某个网页开始执行某些操作时它突然弹出来干扰你 ...

  6. 彻底禁用chrome请停用以开发者模式运行的扩展程序弹框

    首先上图 怎么解决呢? 进入安装目录-->下图目录(一串数字的目录) 2. 找到chrome.dll 3.下载patch.exe   下载网址 https://itdocs.pipipan.co ...

  7. 彻底禁用Chrome插件停用开发者模式提示插件version.dll

    下载后将dll文件放在和Chrome.exe同目录然后重启浏览器即可. 文件下载地址:https://download.csdn.net/download/ganquanzhong/11987360

  8. vs2010黑色主题Dark完美设置

    版权声明:本文为博主原创文章,未经博主允许不得转载.   ----------------------------------------------------------------------- ...

  9. 如何禁用Chrome / Firefox /IE浏览器的Cookie

    Firefox: 点击菜单按钮并点击选项 按钮. 选择 隐私 面板. 将“Firefox 将会:”这一项设置为 使用自定义历史记录设置. 取消 接受来自站点的 Cookie 选项 即可禁用 Cooki ...

随机推荐

  1. 【HTTP原理】TCP/IP三次握手和四次挥手

    HTTP连接 HTTP协议即超文本传送协议(Hypertext Transfer Protocol),是web联网的基础,也是手机联网常用的协议之一,http协议是建立在TCP协议之上的一种应用. H ...

  2. Go的context的问题

    Go的context的问题 2017-05-29 最近被由context引发的一个bug坑得不轻,所以反思一下Go的context的问题. context是隐式的约束,没有检测 如果我们写一个函数,比 ...

  3. C++中使用引用作为函数参数的优点

    1.传递引用给函数与传递指针的效果是一样的.这时,被调函数的形参就成为原来主调函数中的实参变量或对象的一个别名来使用,所以在被调函数中对形参变量的操作就是对其相应的目标 对象(在主调函数中)的操作. ...

  4. 【Dp】Bzoj1296 [SCOI2009] 粉刷匠

    Description windy有 N 条木板需要被粉刷. 每条木板被分为 M 个格子. 每个格子要被刷成红色或蓝色. windy每次粉刷,只能选择一条木板上一段连续的格子,然后涂上一种颜色. 每个 ...

  5. bzoj 1426 收集邮票

    f[i]:当前已拥有i种邮票,还需要买的邮票数的期望值. g[i]:当前已拥有i种邮票,还需要的钱的期望值. 每张邮票初始都是1元钱,每买一张邮票,还没购买的邮票每张都涨价1元.  f[i]=1+(n ...

  6. otter代码在IDEA远程DEBUG方法

    众所周知,Otter的代码打包后,是通过Jetty启动的,Otter代码的启动脚本中自带了开启Jetty远程DEBUG的脚本,所以我们只需要在启动Otter Manager和Otter Node的时候 ...

  7. BZOJ_1827_[Usaco2010 Mar]gather 奶牛大集会_树形DP

    BZOJ_1827_[Usaco2010 Mar]gather 奶牛大集会_树形DP 题意:Bessie正在计划一年一度的奶牛大集会,来自全国各地的奶牛将来参加这一次集会.当然,她会选择最方便的地点来 ...

  8. Python + Appium 【已解决】driver(session)在多个class之间复用,执行完一个类的用例,再次执行下个类的用例时不需要初始化

    实现效果:打开App进行自动化测试,只需打开APP一次,按先后顺序执行n个py文件中的相应操作,实现自动化测试. 示例:如截图示例,一个App,根据此APP内不同的模块,写成了不同的py文件, 预期结 ...

  9. Scala 枚举介绍及深入应用

    本文详细地总结了Scala枚举的几种实现方式,对我们更好地进行函数式编程有很好地指导和帮助. Scala 枚举示例和特性 枚举(Enumerations)是一种语言特性,对于建模有限的实体集来说特别有 ...

  10. python接口自动化(二十二)--unittest执行顺序隐藏的坑(详解)

    简介 大多数的初学者在使用 unittest 框架时候,不清楚用例的执行顺序到底是怎样的.对测试类里面的类和方法分不清楚,不知道什么时候执行,什么时候不执行.虽然或许通过代码实现了,也是稀里糊涂的一知 ...