😀

i3wm 現在開いているウィンドウのWM_CLASSの値を確認する方法

2024/01/23に公開
i3-msg -t get_tree | python3 -m json.tool | grep class | sed 's/ //g'

出力例

"class":"Polybar",
"class":"Google-chrome",
"class":"Code",
"class":"kitty",
"class":"obsidian",

i3の設定をいじっているとウィンドウのクラス名を知りたいと思う機会がある。
けどどうやって調べればいいのかわからず苦戦した。
ほとんどのアプリはman appnameでデフォルトのWM_CLASSを見ることができる
けどときどきmanで見れないアプリがある。
google chromeがそうだった。

一応解説

i3-msg -t get_tree

ワークスペースやウィンドウの情報をJSON形式で出力してくれる

python3 -m json.tool

JSONのテキストを整形してくれる

grep class

説明なし。

sed 's/ //g'

JSONのネストが恐ろしく深い。
結果を見やすくするために入れてる

Discussion