macos - 如何在 Mac 上以编程方式反转屏幕颜色

标签 macos

如何编写脚本以在 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/

相关文章:

bash - 如何将一系列 bash 命令定义为字符串?

windows - BSD 以外的操作系统的原子加载/存储?

macos - 显示默认的关于对话框

macos - Netbeans 7.1.2 Mac 0S X 下载

MySQL 首选项 Pane 和登录错误

python - graph_tool osx 中缺少 graph_draw 吗?

java - 在 Mac OS X 上增加 SQuirreL SQL 的堆大小

objective-c - 通过在 Lion 中拖动来重新排列表格行

javascript - Npm 将 sudo 权限恢复为默认值?

mysql - 无法在MySQL中获得计算机的主机名