如何在macOS中实现系统全局灰度显示但排除指定应用?
当然可以!在macOS上实现全局灰度显示同时让指定应用保持彩色,有两种实用方案,我给你详细说说:
方法一:系统原生灰度+第三方窗口工具(推荐新手)
系统本身自带全局灰度功能,但没法单独排除应用,所以搭配一款轻量工具就能搞定,我最推荐BetterDisplay(免费版完全够用):
- 先开启全局灰度:打开「系统设置」→「辅助功能」→「显示」,勾选「使用灰度」(如果你用的是Monterey及更早版本,路径是「系统偏好设置」→「辅助功能」→「显示器」→「使用灰度」)。
- 安装BetterDisplay:可以从App Store或者官方渠道下载,免费版就支持单个应用的色彩配置。
- 配置例外应用:点击菜单栏的BetterDisplay图标,选择「Add Display Profile for App」,选中你想要保持彩色的应用,然后在配置面板里把「Color Filter」设为「None」,保存后这个应用就会自动绕过全局灰度,显示正常色彩了。
这个方法操作简单,而且不会有屏幕闪烁之类的问题,日常用完全足够。
方法二:终端命令+脚本(适合技术控)
要是你不想用第三方工具,也可以用终端命令结合AppleScript来实现,原理是通过脚本检测当前活跃应用,自动切换灰度开关:
- 先手动开启全局灰度(或者用下面的命令):
defaults write com.apple.universalaccess grayscale -bool true killall SystemUIServer - 编写AppleScript脚本,以让Safari保持彩色为例:
tell application "System Events" set frontApp to name of first application process whose frontmost is true end tell if frontApp is "Safari" then do shell script "defaults write com.apple.universalaccess grayscale -bool false; killall SystemUIServer" else do shell script "defaults write com.apple.universalaccess grayscale -bool true; killall SystemUIServer" end if - 把脚本保存为应用,再用Automator或者Alfred这类工具设置快捷键,或者让它在应用切换时自动运行。不过这个方法切换应用时会有短暂的屏幕闪烁,适合喜欢折腾的用户。
内容的提问来源于stack exchange,提问作者JM97




