i3용 "읽기 모드"
브라우저의 그레이스케일 모드
다음 콘텐츠로 사용자 스타일을 만드는 것으로 시작했습니다.
html {
filter: grayscale() !important;
}
이것은 실제로 훌륭하게 작동했습니다! 대부분의 웹사이트에서 엄청나게 빠르며 비디오와 같은 것에도 적용됩니다!
YouTube와 같이 이미 리소스를 많이 사용하는 웹사이트를 사용할 때 웹사이트에서 내 노트북이 평소보다 더 시끄러워진다는 것을 깨달았을 때 문제가 발생하기 시작했습니다. 게다가 비디오에서 눈에 띄게 프레임률이 떨어졌습니다!
이를 구현하기 위해 이미 존재하는 여러 브라우저 플러그인을 시도했지만 동일한 성능 문제가 있었습니다.
이 기능에 대해 지불하고 싶었던 가격이 아닙니다.
Compton GLX 셰이더
i3용 컴포지터로
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);
}
나는 완전히 회색조로 바꾸는 대신 이미지의 채도를 크게 낮추기로 선택했습니다. 이렇게 하면 색상이 매우 미묘한 방식으로 표시됩니다.
해당 셰이더를
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-grayscale-reading-mode
compton-grayscale-reading-mode
이 스크립트는 i3 창 관리자 및 compton을 사용하는 다른 창 관리자에서 읽기 모드/회색조 모드를 구현합니다.
채도 감소 수준은 95%이므로 여전히 약간의 색상이 존재하지만 매우 많이 채도가 감소합니다.
이것은 배경화면에 영향을 미치지 않습니다. hsetroot
를 사용하여 검은색 배경화면을 설정하는 것이 좋습니다.
회색조 모드에서 백엔드는 항상 glx
입니다.
용법
compton-grayscale-reading-mode는 compton을 감싸는 래퍼입니다. 모든 명령줄 인수는 compton에 전달됩니다.
실행 중인 모든 compton 인스턴스가 종료되므로 이 스크립트를 사용하여 그레이스케일 모드를 켜고 끌 수 있습니다.
그레이스케일 모드 사용MODE=grayscale compton.sh
그레이스케일 모드 비활성화MODE=normal compton.sh
View on GitHub
Reference
이 문제에 관하여(i3용 "읽기 모드"), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/kantord/reading-mode-for-i3-29g2
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
MODE=grayscale compton.sh
MODE=normal compton.sh
Reference
이 문제에 관하여(i3용 "읽기 모드"), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kantord/reading-mode-for-i3-29g2텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)