在 macOS Mojave 之前,一直使用暗色菜单栏,这个功能可以让菜单栏、Dock 及一些第三方输入法拥有深色背景,而不是传统的浅色。但是在前几天更新到最新版 Mojave 之后,深色外观取代了原来的暗色菜单栏。而现在的深色模式,讲真,非常粗糙,完全不像是以往在意细节的苹果设计的产品。

可能他们真的把乔帮主的放大镜弄丢了。


下面是目前发现的几个问题及解决办法

恢复使用暗色菜单栏

打开终端,输入:

# 查看当前状态
defaults read -g NSRequiresAquaSystemAppearance

# 恢复使用暗色菜单栏
defaults write -g NSRequiresAquaSystemAppearance -bool Yes

# 关闭使用暗色菜单栏
defaults write -g NSRequiresAquaSystemAppearance -bool No

操作完毕后,无论是恢复还是关闭都需要注销(退出登陆)重新登陆才行。

去除应用白边

一些应用,如 VS Code 本身是浅色的,但由于使用了深色主题,在 Mojave 系统下,非全屏时,则会出现白边。这时我们让应用强制启用深色模式,命令与上面类似。如下:

# 启用命令
defaults write -app 应用 NSRequiresAquaSystemAppearance -bool No

# 举例
defaults write -app Visual\ Studio\ Code NSRequiresAquaSystemAppearance -bool No

# 取消
defaults write -app Visual\ Studio\ Code NSRequiresAquaSystemAppearance -bool Yes
# 或者
defaults delete -app Visual\ Studio\ Code NSRequiresAquaSystemAppearance

# 查看当前状态
defaults read -app Visual\ Studio\ Code NSRequiresAquaSystemAppearance

更改完后只需退出对应的应用重新打开即可。

解决字体渲染过细

同样也是在升级 Mojave 之后出现,在外接屏幕(DELL U2410)打开的应用,字体会有些发虚。原因是苹果禁用了次像素抗锯齿(Sub-pixel anti-aliasing)导致的,解决方法是启用平滑字体,方法如下:

# 启用
defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO

# 关闭
defaults write -g CGFontRenderingFontSmoothingDisabled -bool Yes

同样需要注销重新登陆。

说明

状态提示

  • 查看状态时,如果为 0,则是 No;1 则是 Yes
  • 提示 does not exist 是未设置
  • 提示 defaults unchanged 一般是应用名输入错误

命令说明

  • write:写入
  • read:读取
  • -g:全局,意 -globalDomain
  • -bool:使用布尔值作为值,可用 True / False 或 Yes / No

版本

  • macOS Mojave 10.14

参考