i 3の読み込みモード


benefits of using your phone in grayscale modeについて読んだ後、私はあまりにも私のコンピュータ上で試してみたかった.

ブラウザのグレイスケールモード


ユーザースタイルを作成するには、次のコンテンツを入力します.
html {
    filter: grayscale() !important;
}
これは実際に素晴らしい作品!これは、ほとんどのウェブサイトで高速燃えるし、それもビデオのようなものに適用されます!
問題は、私のラップトップが通常よりもずっと大きくなってきていることに気づいた時に起こりました.加えて、ビデオに顕著なframerateドロップがあった!
私は既に実装されているブラウザプラグインのいくつかを試してみました.
それは私がこの機能のために支払いたかった価格ではない.

コンプトンGLX遮光物


私がiのための私の合成器としてcomptonをセットアップしていたとき、私はそれが私が使用していない奇妙な旗を持っているのに気付きました:
--glx-fshader-win SHADER
  GLX backend: Use specified GLSL fragment shader for rendering window contents. See compton-default-fshader-win.glsl
  and compton-fake-transparency-fshader-win.glsl in the source tree for examples.
私は遮光物がどのように働くかについて全く考えがありません、しかし、それがcompton-fake-transparency-fshader-winで使われることができるならば、私は色フィルタのために役に立つかもしれません.
いくつかの例について説明した後、このようなものは遮光物のために動作するはずです.
uniform sampler2D tex;

void main() {
   vec4 c = texture2D(tex, gl_TexCoord[0].xy);
   float y = dot(c.rgb, vec3(0.299, 0.587, 0.114));
   vec4 gray = vec4(y, y, y, 1.0);
   gl_FragColor = mix(c, gray, 0.95);

}
私は、それを完全にグレイスケールに変えるよりむしろイメージを徹底的にdesaturateするほうを選びました.このように、色は非常に微妙な方法で表示されます.
私はその遮光物をcompton --glx-fshader-winに渡しました、そして、それは働きます!

私はこのようにパフォーマンスをドロップしていないだけでなく、追加の利点として、私は今、ブラウザ全体ではなく、私の全体のOSで読書モードを持っている.私もグレースケールモードでゲームをプレイすることができます!
私は簡単にキーバインディングを介してオンとオフを有効にするには、このシェルスクリプトを作成しました.
#!/usr/bin/env bash

 #Define shader
GRAYSCALE=$(cat <<-END
uniform sampler2D tex;
void main() {
   vec4 c = texture2D(tex, gl_TexCoord[0].xy);
   float y = dot(c.rgb, vec3(0.299, 0.587, 0.114));
   vec4 gray = vec4(y, y, y, 1.0);
   gl_FragColor = mix(c, gray, 0.95);
}
END
)

# Restart compton with the selected mode
killall -q compton
if [[ $MODE == "grayscale" ]]; then
   compton "$@" --glx-fshader-win "$GRAYSCALE" --backend glx
else
   compton "$@"
fi
このスクリプトはGithubから入手できます.

カントリウド / Comptonグレースケール読み取りモード



Comptonグレースケール読み取りモード


このスクリプトは、I 3ウィンドウマネージャやComptonを使用して他のウィンドウマネージャでの読み取りモード/グレースケールモードを実装します.
無彩度のレベルは95 %であるので、まだ若干の色が存在します、しかし、それは非常に大きな程度にdesaturatedです.
これはあなたの壁紙に何の影響もない:私は黒い壁紙をhsetrootを使用して設定をお勧めします.
グレースケールモードでは、バックエンドは常にglxです.

用途


Comptonグレースケール読み取りモードComptonの周りラッパーです.任意のコマンドライン引数はcomptonに沿って渡されます.
任意のランニングComptonインスタンスが殺されるので、このスクリプトはグレースケールモードのオンとオフを切り替えるために使用できます.
グレースケールモードを有効にする
MODE=grayscale compton.sh
モードを無効にする
MODE=normal compton.sh
View on GitHub