デスクトップのサイズ、現在アクティブなデスクトップ、デスクトップ環境(DE)に設定されているラベル(存在する場合)などの情報を取得する方法に興味があります。
ツールwmctrl
を使用すると、上記のすべての情報、特に-d
スイッチ。
$ wmctrl -d
0 * DG: 5760x900 VP: 0,0 WA: 0,25 1440x826 Workspace 1
1 - DG: 5760x900 VP: 0,0 WA: 0,25 1440x826
2 - DG: 5760x900 VP: 0,0 WA: 0,25 1440x826 N/A
3 - DG: 5760x900 VP: 0,0 WA: 0,25 1440x826 N/A
デスクトップごとに1行が出力され、その行はスペースで区切られた列に分割されます。
wmctrlでできる非常にクールなこと
$ wmctrl -m
Name: compiz
Class: N/A
PID: N/A
Window manager's "showing the desktop" mode: OFF
$ wmctrl -l
0x00c00028 -1 grinchy Top Expanded Edge Panel
0x0120001e 0 grinchy x-nautilus-desktop
0x06015fee 0 grinchy saml@grinchy:~
0x06000004 0 grinchy saml@grinchy:~
0x05a000d1 0 grinchy xorg - How can I get information about my virtual desktops via the command line? - Unix & Linux Stack Exchange - Google Chrome
ウィンドウごとに1行が出力され、その行はスペースで区切られた列に分割されます。
-p
オプションが指定されている場合、次の列にはウィンドウのPIDが10進整数として含まれます。-G
オプションを指定すると、xオフセット、yオフセット、幅、高さの4つの整数列が続きます。-p
スイッチの例
0x06015fee 0 3278 grinchy saml@grinchy:~
0x06000004 0 3278 grinchy saml@grinchy:~
0x05a000d1 0 4676 grinchy xorg - How can I get information about my virtual desktops via the command line? - Unix & Linux Stack Exchange - Google Chrome
-G
スイッチの例
0x06015fee 0 3378 128 941 361 grinchy saml@grinchy:~
0x06000004 0 900 142 947 397 grinchy saml@grinchy:~
0x05a000d1 0 0 50 1440 826 grinchy xorg - How can I get information about my virtual desktops via the command line? - Unix & Linux Stack Exchange - Google Chrome
*注:-p
および-G
スイッチも組み合わせることができます!
$ wmctrl -s 2
注:デスクトップには0から始まる番号が付けられているため、1が2番目になります。
$ wmctrl -n 3
4つではなく3つになりました。
$ wmctrl -d | wc -l
3
今度は4に戻します。
$ wmctrl -n 4
$ wmctrl -d | wc -l
4
$ wmctrl -l | grep GVIM
0x02a00003 0 grinchy [No Name] - GVIM
$ wmctrl -c GVIM
$ wmctrl -l | grep GVIM
$