Picom (한국어)
콤튼Compton은 컴포지팅 기능을 네이티브하게 지원하지 않는 window managers와 함께 사용하기 좋은 스탠드얼론 컴포짓 매니저 입니다. 콤튼은 xcompmgr의 포크버전인 xcompmgr-dana[dead link 2021-05-17 ⓘ]의 포크입니다. 더 자세한 정보가 필요하다면 compton github page을 읽으십시오.
설치
Install하기 위해선 compton[broken link: replaced by picom]나 git 버전인 compton-gitAUR[broken link: package not found] 중 하나를 설치하면 됩니다.
Qt를 기반한 GUI가 필요하다면 compton-confAUR 나 compton-conf-gitAUR 패키지 중 하나를 설치하면 됩니다.
사용
콤튼은 세션 중 아무 때나 수동으로 실행되거나 종료될 수 있습니다, 또한 백그라운드에서 (Daemon) 프로세스로 자동실행되도록 할 수 있습니다. 컴포지팅 효과를 설정하기 위해서 여러가지 인자를 사용할 수도 있습니다. 사용될 수 있는 인자는 다음과 같습니다:
-
-b
: 세션 중 백그라운드 (Daemon) 프로세스로 실행됩니다 (예: Openbox 등의 window manager 에서 자동실행 할 때) -
-c
: 그림자 효과를 활성화 -
-C
: 패널이나 독에 그림자 효과를 비활성화 -
-G
: 어플리케이션 창이나 드래그-온-드롭 오브젝트에 그림자 효과를 비활성화 -
--config
: 지정된 설정 파일을 사용
디스플레이 설정, 타이밍 설정, 그리고 메뉴, 윈도우 테두리, 비활성화된 어플리케이션 메뉴 투명도 설정 등 더 많은 옵션들이 존재합니다. 더 많은 정보를 위해서는 Compton Man Page을 확인하십시오.
자동실행
콤튼을 Daemon 프로세스로 자동실행하는 법은 사용 중인 desktop environment 나 window manager 에 달려있습니다. 예를 들어, i3에서는 ~/.i3/config
파일을 수정해야 하지만, Openbox에서는 ~/.config/openbox/autostart
파일을 수정해야 합니다. 필요하다면, 콤튼은 xprofile 이나 Xinitrc에서 자동실행될 수도 있습니다. 더 많은 정보를 위해서는 startup files를 읽어보십시오.
커맨드로 실행
세션 중에 수동으로 기본 컴포지팅 기능을 활성화하기 위해서는, 다음의 커맨드를 사용하십시오:
$ compton
세션 중에 혹시 모든 그림자 기능을 사용하지 않으려면 -C
과 -G
인자가 추가되어져야 합니다:
$ compton -CG
콤튼을 백그라운드 (Daemon) 프로세스로 자동실행하려면, -b
인자를 추가해야 합니다:
compton -b
백그라운드 (Daemon) 프로세스에서 모든 그림자 효과를 사용하지 않으려면 -C
와 -G
인자를 추가해야 합니다:
compton -CGb
마지막으로, 여러가지 인자와 그에 필요한 값들을 넣어서 실행하는 예입니다:
compton -cCGfF -o 0.38 -O 200 -I 200 -t 0 -l 0 -r 3 -D2 -m 0.88
설정파일 사용
기본 설정파일은 /etc/xdg/compton.conf
에 있습니다. 수정을 하려면 기본 설정파일을 ~/.config/compton.conf
나 ~/.compton.conf
로 복사한 뒤 수정하십시오.
세션 중에 커스텀 설정파일을 사용하려면, 다음 커맨드를 입력하십시오:
compton --config path/to/compton.conf
백그라운드 (Daemon) 프로세스로 자동실행하려면, -b
인자를 추가하십시오:
compton --config path/to/compton.conf -b
몇몇 창의 그림자 효과
콤튼이 그림자를 그리는 방법 때문에 몇몇 어플리케이션은 그림자 효과가 활성화 되있을 시에 시각적 버그가 있습니다. shadow-exclude
옵션을 사용하면 버그가 사라질 수도 있습니다.
예를 들어서, 모든 GTK +3 프로그램에서 그림자 효과를 없애려면, compton.conf
의 shadow-exclude
에 다음 세팅을 추가하십시오:
"_GTK_FRAME_EXTENTS@:c"
그림자 효과를 conky 창에서 없애려면, 먼저 ~/.conkyrc
파일에 다음을 추가하십시오:
own_window_class conky
그리고 콤튼 설정파일에 다음을 추가하십시오:
shadow-exclude = "class_g = 'conky'";
here[dead link 2021-05-17 ⓘ]에 현재 비활성화된 창들의 리스트가 있습니다.
다중 모니터
xinerama 를 사용하지 않고 multihead 설정이 되있다면 (X 서버가 하나의 스크린 이상에서 실행 중이라면) 기본적으로 콤튼은 하나의 스크린에서만 실행이 될 것입니다. -d
인자를 사용하면 모든 스크린에서 실행시킬 수 있습니다. 예로, 콤튼을 4개의 모니터에서 사용하려면 다음 커맨드를 입력하면 됩니다:
seq 0 3 | xargs -l1 -I@ compton -b -d :0.@
오류 해결
컴포지팅 효과를 다른 프로그램이나 어플리케이션과 함께 사용할 때 설정이 제대로 안 되어져 있다면 시각적 버그가 발생할 수 있습니다.
탭 창
투명화 효과가 설정된 창이 탭화 된다면, 아래에 숨어있는 다른 탭 창들이 투명화 효과 때문에 여전히 보여질 수 있습니다. 각각의 탭 창은 또한 개별적으로 그림자를 그리는데, 이는 다수의 그림자 효과가 중첩되어 발생하는 문제를 야기할 수 있습니다.
그림자 효과 중첩을 해결하려면 아래 옵션을 다음 shadow-exclude
list[dead link 2021-05-17 ⓘ]에 추가함으로 해결할 수 있습니다:
"_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'"
Not drawing underlying tabbed windows can be enabled by adding the following to your compton.conf
:
opacity-rule = [ "95:class_g = 'URxvt' && !_NET_WM_STATE@:32a", "0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'" ];
Note that URxvt
is the Xorg class name of your terminal. Change this if you use a different terminal.
See [1] for more information.
slock
Where inactive window transparency has been enabled (the -i
argument when running as a command), this may provide troublesome
results when also using slock. One solution is to amend the
transparency to 0.2
. For example, where running compton arguments
as a command:
$ compton <any other arguments> -i 0.2
Otherwise, where using a configuration file:
inactive-dim = 0.2;
Alternatively, you may try to exclude slock by its window id, or by excluding all windows with no name.
Exclude all windows with no name from compton using the following options:
$ compton <other arguments> --focus-exclude "! name~=''"
Find your slock's window id by running the command:
$ xwininfo & slock
Quickly click anywhere on the screen (before slock exits), then type your password to unlock. You should see the window id in the output:
xwininfo: Window id: 0x1800001 (has no name)
Take the window id and exclude it from compton with:
$ compton <any other arguments> --focus-exclude 'id = 0x1800001'
Otherwise, where using a configuration file:
focus-exclude = "id = 0x1800001";
dwm's statusbar is not detected by any of compton's functions to automatically exclude window manager elements. Neither dwm statusbar nor dmenu have a static window id. If you want to exclude it from inactive window transparency (or other), you will have to either patch a window class into the source code of each, or exclude by less precise attributes. The following exmaple is with dwm's status on top, which allows a resolution independent of location exclusion:
$ compton <any other arguments> --focus-exclude "x = 0 && y = 0 && override_redirect = true"
Otherwise, where using a configuration file:
focus-exclude = "x = 0 && y = 0 && override_redirect = true";
The override redirect property seems to be false for most windows- having this in the exclusion rule prevents other windows drawn in the upper left corner from being excluded (for example, when dwm statusbar is hidden, x0 y0 will match whatever is in dwm's master stack).
Unable to change the background color with xsetroot
Currently, compton is incompatible with xsetroot
's -solid
option, a workaround is to use hsetroot to set the background color:
$ hsetroot -solid '#000000'
For a detailed explanation, please see https://github.com/chjj/compton/issues/162.
Corrupted screen contents with Intel graphics
On at least some Intel chipsets, DRI3 is known to cause trouble for compton when the display resolution is changed or a new monitor is connected. This can happen with either the intel
or modesetting
driver. A workaround is to disable DRI3.
Screen artifacts/screenshot issues when using AMD's Catalyst driver
Try running compton with
--backend xrender
or adding
backend = "xrender";
to your compton.conf file.
For more info, please see https://github.com/chjj/compton/issues/208
Errors while trying to daemonize with nvidia drivers
If you get error main(): Failed to create new session.
while trying to start compton in background you should try compton-garnetius-gitAUR[broken link: package not found]. It also provides a few pulls from upstream that are not merged yet.
Lag when using xft fonts
If you experience heavy lag when using Xft fonts in applications such as xterm or urxvt try running with
--xrender-sync --xrender-sync-fence
or try using the xrender backend.
See [2] for more information.
Flicker
Applies to fully maximized windows (in sessions without any panels) with the default compton.conf caused and resolved by the following option:
unredir-if-possible = false;
See [3] for more information.
Fullscreen tearing
If you observe screen tearing of video playback only in fullscreen mode see above.