한 창에서 색상 반전 효과를 발생시키는 방법은 무엇입니까?


21

나는 compiz에서 'negative'와 같은 역 색상 효과 (밝은 색)를 원하지만 compiz는 없으며 하나의 창 (compiz 's Super+ N) 에만 적용하고 싶습니다 .

compiz없이 비슷한 효과를 얻는 방법이 있습니까? 로 전체 데스크톱의 색상을 반전시킬 수는 xcalib -I -a있지만 단일 창으로 제한 할 수는 없습니다.


이 게시물과 관련이있을 수도 있습니다 : unix.stackexchange.com/questions/20565/…
Sheljohn

나는 compiz 창 관리자에서 부정적인 창 옵션을 사용하고 있으며 매우 잘 작동합니다.
stats-hb

답변:


21

내가 아는 한 그것을 달성하기 위해서는 Window Compositor의 도움이 필요합니다 . Compton
과 같은 경량 독립형 컴포 지터를 설치할 수 있습니다 .

콤프 턴

Compton은 X 용 경량 컴포 지터이며 xcompmgr-dana 포크입니다.

Man Pages 에 따르면 Compton에는 창에서 색상을 반전시키는 옵션이 있습니다.

예 :

compton --invert-color-include <CONDITION>

조건은 창의 WM_CLASS 일 수 있습니다. 창의 "WM_CLASS"를 찾으려면 xprop 명령을 실행할 수 있습니다.

  • xprop | grep WM_CLASS

그러면 커서가 "십자"가 되고 원하는 창을 클릭하여 WM_CLASS를 찾을 수 있습니다.

이제 다음과 같은 것이 있어야합니다.

WM_CLASS (STRING) = "리프 패드", "리프 패드"

여기에 이미지 설명을 입력하십시오

두 번째 문자열은 WM_CLASS "Leafpad" 여야합니다 .
따라서 Leafpad 편집기의 색상을 반전 시키려면 다음을 실행해야합니다.

  • compton --invert-color-include 'class_g="Leafpad"'

경우에 따라 프로그램의 일부 창만 반전시키고 싶을 수도 있습니다 (예 : "파일 저장"대화 상자가 아닌 편집기 창 반전).
이를 위해 두 문자열 중 첫 번째WM_CLASS 문자열 ( "인스턴스"라고도 함)을 사용할 수 있습니다.

  • compton --invert-color-include '(class_g="Leafpad" && class_i="leafpad")'

항상 compton을 실행할 필요는 없으며 창의 색상을 반전시켜야 할 때 실행할 수 있습니다.


참고 : 이 예제에서는 OpenBox를 창 관리자로 사용하지만 기본적으로 합성기를 사용하지 않고 Lubuntu 13.04를 실행하고 있습니다.


Compton을 설치하려면

이 컴포 지터에는 자체 PPA가 있습니다

1) compton을 설치하려면 터미널을 열고 다음을 입력하십시오.

  • sudo add-apt-repository ppa:richardgv/compton
  • sudo apt-get update && sudo apt-get install compton

이 예제에서는 기본 Bash 스크립트 ( 스크립트 전문가가 아님)작성 하여 활성 창을 감지하고 색상을 반전시킵니다.

2) 스크립트를 작성하십시오.

  • sudo apt-get install xdotool
  • mkdir ~/Scripts
  • nano ~/Scripts/invert.sh

스크립트 내용 :

#! /bin/bash

if [ "$(pidof compton)" ];
    then
            pkill compton
    else

        ID=$(xdotool getactivewindow)
        CLASS=$(xprop -id "$ID"  | grep "WM_CLASS" | awk '{print $4}')
        COND="class_g=${CLASS}"
        compton --invert-color-include "$COND" &
fi
exit

기본적으로 스크립트는 compton이 실행 중인지 확인합니다. xdotool이 실행 중이 아닌 경우 xdotool이 활성 창의 창 ID를 찾은 다음 id xprop가 WM_CLASS를 찾은 다음 WM_CLASS를 사용하여 조건을 작성하고 마지막으로 인수로서의 조건.

스크립트를 실행 가능하게 만드십시오.

  • chmod +x ~/Scripts/invert.sh

제 경우에는 "invert-color" 라는 이름으로 / usr / bin / 디렉토리에 대한 소프트 링크를 만들 것입니다

  • sudo ln -s ~/Scripts/invert.sh /usr/bin/invert-color

3) 키보드 단축키를 작성하십시오
. Ctrl+ Alt+ U (Lubuntu에서는 lubuntu-rc.xml 파일을 편집해야합니다)

  • leafpad ~/.config/openbox/lubuntu-rc.xml

다음 줄을 추가하십시오.

<!-- Launch invert-color activewindow on Ctrl + Alt + U-->
<keybind key="C-A-U">
  <action name="Execute">
    <command>invert-color</command>
  </action>
</keybind>

마지막으로 로그 아웃 및 로그인하여 키보드 단축키의 변경 사항을 확인할 수 있습니다.


내 의도는 활성 창에서 색상을 반전해야 할 때 바로 가기 Ctrl+ Alt+로 할 수 있습니다 U. 일반 색상으로 돌아가려면 바로 가기를 다시 누르면 스크립트가 compton이 실행 중임을 감지합니다. pkill 명령은 프로세스 compton을 종료합니다.
따라서이 방법으로 필요할 때만 합성기를 실행합니다.

여기 몇 개의 스크린 샷이 있습니다 :

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오

도움이 되길 바랍니다.


창이 전체 화면 인 경우이 작업을 수행 할 수있는 방법이 있습니까? 다른 작업 공간 사이를 전환 할 때 바람직 할 수 있습니다.
Toothrot

(i3wm과 대답에서 그 동일한 스크립트 사용) 내 시스템에 광고로 @Toothrot 이미 작동
sehe을

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.