之前我在使用macOS的时候,非常喜欢使用灰度显示界面。到底是什么原因让我有这么“变态”的需求。
下面听听我的故事,当时不重要,可以跳过。

是这样的,因为我是程序员,算上电脑+手机,一天但用屏幕的时候超过10小时。我的眼睛经常出现疲劳的情况。有这么一阵子,我的眼皮一直在跳,连接跳了两个多月,让我心神不宁。我知道肯定是用眼过度导致的,但是我又没有什么办法。毕竟我的工作就是这样。

退而求其次,我就想购买一款比较护眼的显示器。提到护眼,大家可能会想到墨水屏的电纸书。我找了一下,市面上很少有墨水屏的显示器。就算有,我也担心自己会适应不了,黑白屏的效果。所以我就尝试把我的显示器调整成黑白的(灰度),来模拟墨水屏的效果,起初的目的只是为了,测试我是否能适应黑白屏。

刚开始从彩色屏切换到黑白屏时,真的不习惯。后来慢慢的我就习惯了,奇妙的事情就发生了。使用了一周黑白屏后,我的眼睛舒适了,眼睛酸涩感明显减轻。眼皮连接跳动2个月的症状也消失了。

macOS/iOS启用黑白显示

比较简单,系统设置中就有。找到色彩滤镜就行了。因为写这篇文章的时候,手头没有macOS的电脑,我截图了iOS的设置。两者基本相同。

linux

我使用的是archlinux,我以它为例。
参考:
https://wiki.archlinux.org/title/Picom#Grayscale

安装picom

pacman -S picom

创建glsl文件

我的路径是/home/itkey/.soft/shader/file.glsl
内容如下:

uniform float opacity;
uniform bool invert_color;
uniform sampler2D tex;void main() {vec4 c = texture2D(tex, gl_TexCoord[0].xy);float g = 0.2126 * c.r + 0.7152 * c.g + 0.0722 * c.b;   // CIELAB luma, based on human tristimulus.c = vec4(vec3(g), c.a);if (invert_color)c = vec4(vec3(c.a, c.a, c.a) - vec3(c), c.a);c *= opacity;gl_FragColor = c;
}

显示灰度

picom --backend glx --glx-fshader-win "$(cat /home/itkey/.soft/shader/file.glsl)"

执行完这个代码以后显示器的所有画面就是黑白显示了。

这种方式跟macOS有一点小的区别。黑白模式如果截图,截图下来的内容也是黑白的。而macOS中只是你看到的是黑白的,截图依然是彩色的。

还有一个问题,当快速切换窗口时,会出现淡入淡出的效果。

变回彩色

当我们需要截图或者要临时调色时,如何切换到彩色呢?其实结束进程就可以了。

killall -q picom

shell脚本

能否把这能的内容合并成一个shell脚本呢?以下是我的脚本仅供参考 。

#!/usr/bin/env bashGRAYSCALE=$(cat <<-END
uniform bool invert_color;
uniform sampler2D tex;void main() {vec4 c = texture2D(tex, gl_TexCoord[0].xy);float g = 0.2126 * c.r + 0.7152 * c.g + 0.0722 * c.b;   // CIELAB luma, based on human tristimulus.c = vec4(vec3(g), c.a);if (invert_color)c = vec4(vec3(c.a, c.a, c.a) - vec3(c), c.a);gl_FragColor = c;
}END
)# 关闭掉之前已经存在的进程
killall -q picom
if [[ $MODE == "grayscale" ]]; then#后台运行并输入日志到/home/itkey/.soft/log/picom.lognohup picom "$@" --glx-fshader-win "$GRAYSCALE" --backend glx > /home/itkey/.soft/log/picom.log 2>&1 &
elsenohup picom "$@" > /home/itkey/.soft/log/picom.log 2>&1 &
fi

使用方法 :
启用灰度

MODE=grayscale picom.sh

禁用灰度

MODE=normal picom.sh

在i3wm中设置 快捷键开启黑白显示

#切换到黑白显示
bindsym $mod+Shift+g exec MODE=grayscale /home/itkey/.soft/bin/picom.sh

每次点击可以切换 。
参考了:https://raw.githubusercontent.com/kantord/compton-grayscale-reading-mode/master/compton.sh

参考

https://github.com/kantord/compton-grayscale-reading-mode

linux 灰度显示grayscale相关推荐

  1. Linux下显示前10个占用空间最大的文件或目录命令

    Linux下显示前10个占用空间最大的文件或目录命令 du -s * | sort -nr | head 转载于:https://blog.51cto.com/wapcn/933177

  2. linux 如何显示一个文件的某几行(中间几行)

    linux 如何显示一个文件的某几行(中间几行) [一]从第3000行开始,显示1000行.即显示3000~3999行 cat filename | tail -n +3000 | head -n 1 ...

  3. Linux echo 显示内容颜色

    Linux echo 显示内容颜色 https://www.cnblogs.com/kimbo/p/6816566.html #字体颜色:30m-37m 黑.红.绿.黄.蓝.紫.青.白 str=&qu ...

  4. linux 支持的字体命令,Linux设置显示中文和字体

    Linux设置显示中文和设置字体 设置中文 一.查看当前使用的系统语言 登陆linux系统打开操作终端之后,输入 echo $LANG可以查看当前使用的系统语言.如 echo $LANG image. ...

  5. 01_Linux系统系统语言查询,设置Xshell工具,中文显示,测试Xshell中文字符显示,Linux中文显示乱码设置

              Xshell是一个强大的安全终端模拟软件,它支持SSH1,SSH2,以及Microsoft Windows平台的TELNETNetSarang Xshell 4 Build 0 ...

  6. linux系统月初月末,Linux last显示系统开机以来获是从每月初登入者的讯息命令详解...

    名称:last 使用权限:所有使用者 使用方式:shell>> last [options] 说明:显示系统开机以来获是从每月初登入者的讯息 参数: -R 省略 hostname 的栏位 ...

  7. Linux Vim显示行号方法详解

    在使用 Vim 进行编辑的过程中,经常会遇到需要同时对连续几行进行操作的情况,这时如果每行都有行号提示,就会非常方便. 在命令模式下输入":set nu"即可显示每一行的行号,如图 ...

  8. Linux 中显示所有正在运行的进程

    [原创翻译]<在linux中显示所有正在运行的进程> 翻译:飞哥 () 版权所有,尊重他人劳动成果,转载时请注明作者和原始出处及本声明. 原文名称:<Show All Running ...

  9. linux中显示进程,linux中怎么显示所有进程

    Linuxlinux中显示所有进程下使用PS命令结合相关参数可以查看linux当前系统下的所有进程.那么linux中怎么显示所有进程呢?接下来大家跟着学习啦小编一起来了解一下的解决方法吧. linux ...

最新文章

  1. 技术图文:如何实现 DataTable 与模型类 List 的相互转换?
  2. Hibernate的各种保存方式的区别
  3. MySQL--常见ALTER TABLE 操作
  4. MySQL数据库:事务和ACID实现原理
  5. 20172304 《程序设计与数据结构》第四周学习总结
  6. 上海oracle办公地址_筑梦之星上海共享办公基地为什么受到市场追捧?
  7. UVA - 540:Team Queue
  8. 服务器维修工单,运维工单--服务器申请工单
  9. 常见数学建模方法学习总结及资料汇总
  10. JavaScript登录界面制作
  11. matlab中字体修改,matlab——修改图中字体
  12. 【JSON】04_JSON的生成与解析
  13. CentOS 7 完美安装redis-5.0.5
  14. python搭建qt开发环境_QT开发环境搭建(Windows)
  15. SQL Inject
  16. Dev C++下载及使用
  17. 数据库SQL实战题目详解(全61题)---(41-61)部分
  18. 《GhostXP_SP2电脑公司特别版_v8.5》
  19. 人体工程学游戏椅行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
  20. 计算机思维入门kodu建模观后感,Kodu Game Lab少儿编程软件 v1.5.49.0 最新版

热门文章

  1. centos8上安装MP-SPDZ
  2. 武大教授计算机学院,武汉大学计算机学院董文永教授受邀到我院进行学术交流...
  3. 怎样“管理”你的上司?
  4. 完全免费,界面友好的文件批量更名工具Bulk Rename Utility
  5. DFS(深度优先搜索)学习笔记(C语言版本)
  6. Ubuntu系统下利用anaconda创建虚拟环境
  7. 【计算机】联想拯救者Y7000安装win10后重启一直在转圈
  8. Axure RP大数据BI可视化大屏原型模板及通用组件库
  9. 揭秘:如何用主题公园的思路做一款VR高尔夫游戏
  10. 人工智能不止会批改作业,它还在改变“一刀切”的教学模式