저는 Archlinux와 Compton을 사용합니다.
나는 Wikipedia에서 이것을 읽었습니다.
Compton에서 이름이 없는 모든 창을 제외하려면 다음 옵션을 사용하십시오.
$ compton <other arguments> --focus-exclude "! name~="
그러나 이것은 작동하지 않습니다. 그것은 나에게 오류 메시지를 주었다:
패턴 "!name~=" 위치 8: 잘못된 패턴 유형입니다.
제외 목록에 추가하고 싶은 프로그램 두 개를 사용하고 있습니다. 하나는 "dmenu"이고 하나는 "i3lock"이며 이를 제외하려고 합니다. 나는 xwininfo
ID를 얻기 위해 실행합니다 :
xwininfo: Window id: 0x3e00003 "i3lock"
Absolute upper-left X: 0
Absolute upper-left Y: 0
Relative upper-left X: 0
Relative upper-left Y: 0
Width: 3840
Height: 1080
Depth: 24
Visual: 0x23
Visual Class: TrueColor
Border width: 0
Class: InputOutput
Colormap: 0x20 (installed)
Bit Gravity State: ForgetGravity
Window Gravity State: NorthWestGravity
Backing Store State: NotUseful
Save Under State: no
Map State: IsViewable
Override Redirect State: yes
Corners: +0+0 -0+0 -0-0 +0-0
-geometry 3840x1080+0+0
아쉽게도 아이디가 바뀌어 사용할 수 없게 되었습니다. 그리고 사용해 "class_g = 'i3lock'",
도 작동하지 않습니다.
어떤 아이디어가 있나요?
나는 또한 dmenu의 Archwiki에서 다른 예제를 시도했지만 나에게도 효과가 없었습니다. 하지만 그럼에도 불구하고 나에게는 i3lock이 더 중요하다.
감사해요.
답변1
xprop -id 0x3e00003
해당 창에 대한 모든 원자를 얻으려면 를 사용해야 합니다 . dmenu의 경우 다음과 같습니다.
WM_CLASS(STRING) = "dmenu", "Dmenu"
다음은 CONDITION
이 원자와 일치합니다.
"class_g *?= 'dmenu'"
여러 조건을 사용할 수 있습니다.
"class_g *?= 'dmenu' && class_g *?= 'i3lock'"
하지만 wm 클래스나 i3lock의 다른 원자를 찾지 못했습니다. i3lock이 windowid를 얻지 못한 것 같습니다. 따라서 i3lock 주위에 작은 래퍼 스크립트를 작성하는 것이 좋습니다.
#!/bin/sh
killall compton
i3lock -n <other arguments>
compton -b <other arguments>