如何编写脚本以在 Mac 上运行反转屏幕颜色?
类似于 How to programmatically invert screen colors in Linux ,但不幸的是,据我所知,xcalib 可在 Windows 和 Linux 上运行,但不适用于 Mac。
编辑:我有一个部分解决方案。我找到了一种在反转屏幕颜色之前和之后转储所有设置的方法:
$ mkdir before && mkdir after && cd before
$ for d in $(defaults domains | sed 's/,//g'); do defaults read $d > $d; done
$ cd ../after
$ # System Preferences > Universal Access > Display > White on Black
$ for d in $(defaults domains | sed 's/,//g'); do defaults read $d > $d; done
$ diff -r before after
diff -r before/com.apple.CoreGraphics after/com.apple.CoreGraphics
3c3
< DisplayUseInvertedPolarity = 0;
---
> DisplayUseInvertedPolarity = 1;
diff -r before/com.apple.universalaccess after/com.apple.universalaccess
5c5
< whiteOnBlack = 0;
---
> whiteOnBlack = 1;
所以现在我知道哪些设置负责屏幕反转。但是当我尝试显而易见的事情时,
$ defaults write com.apple.universalaccess whiteOnBlack -int 1
$ defaults write com.apple.CoreGraphics DisplayUseInvertedPolarity -int 1
没发生什么事。大概任何使用这些值的程序都需要被告知重新加载它们(因为来自例如 dotfiles 的示例需要杀死 Finder 才能生效)。但我不确定那些应用程序是什么,或者这是否是正确的解决方案。
最佳答案
这段 Apple Script 片段可以做到:
tell application "System Events"
key code 28 using {control down, option down, command down}
end tell
这使用 Ctrl-Option-Command-8 快捷键(键码 28 是数字 8)。你必须弄清楚如何从你需要的任何地方调用它......
关于macos - 如何在 Mac 上以编程方式反转屏幕颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6511304/