私はArchlinuxとComptonを使用しています。
私はウィキペディアでこれを読んだ。
Comptonから名前のないすべてのウィンドウを除外するには、次のオプションを使用します。
$ compton <other arguments> --focus-exclude "! name~="
しかし、これはうまくいきません。それは私にエラーメッセージを与えました:
パターン "!name~=" 位置 8: 無効なパターンの種類です。
除外リストに追加したい2つのプログラムを使用しています。 1つは「dmenu」、1つは「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
残念ながらIDが変わって使用できなくなりました。そして使用して"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>