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. BZOJ_[JSOI2010]Group 部落划分 Group_kruskal

    BZOJ_[JSOI2010]Group 部落划分 Group_kruskal Description 聪聪研究发现,荒岛野人总是过着群居的生活,但是,并不是整个荒岛上的所有野人都属于同一个部落,野人 ...

  2. 字符串、List集合、数组互转

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 24.0px "Songti SC"; color: #3933ff } p.p2 { ...

  3. ASP.NET Core的实时库: SignalR简介及使用

    大纲 本系列会分为2-3篇文章. 第一篇介绍了SignalR的预备知识和原理 本文介绍SignalR以及ASP.NET Core里使用SignalR. 本文的内容: 介绍SignalR 在ASP.NE ...

  4. 循环神经网络之LSTM和GRU

    看了一些LSTM的博客,都推荐看colah写的博客<Understanding LSTM Networks> 来学习LSTM,我也找来看了,写得还是比较好懂的,它把LSTM的工作流程从输入 ...

  5. 微信小程序保存图片到相册

    先来看小程序中的保存图片到相册的api wx.saveImageToPhotosAlbum({ filePath : "./test.png", //这个只是测试路径,没有效果 s ...

  6. Scala脚本化-Ammonite

    Scala语言定义: Scala combines object-oriented and functional programming in one concise, high-level lang ...

  7. .NetCore WebApi——基于JWT的简单身份认证与授权(Swagger)

    上接:.NetCore WebApi——Swagger简单配置 任何项目都有权限这一关键部分.比如我们有许多接口.有的接口允许任何人访问,另有一些接口需要认证身份之后才可以访问:以保证重要数据不会泄露 ...

  8. 一致性 Hash 算法的实际应用

    前言 记得一年前分享过一篇<一致性 Hash 算法分析>,当时只是分析了这个算法的实现原理.解决了什么问题等. 但没有实际实现一个这样的算法,毕竟要加深印象还得自己撸一遍,于是本次就当前的 ...

  9. .NET Core IdentityServer4实战 第三章-使用EntityFramework Core进行持久化配置

    内容:本文带大家使用IdentityServer4进行使用使用EntityFramework Core进行配置和操作数据 作者:zara(张子浩) 欢迎分享,但需在文章鲜明处留下原文地址. 前两章内容 ...

  10. XiaomiPushDemo【小米推送集成,基于V3.6.12版本】

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这个Demo只是记录小米推送的集成,不能运行. 使用步骤 一.项目组织结构图 注意事项: 1.  导入类文件后需要change包名以 ...