Usando a ferramenta wmctrl
, você pode obter todas as informações acima, especificamente a opção -d
.
Exemplo
$ 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
Detalhes
Uma linha é enviada para cada desktop, com a linha dividida em colunas separadas por espaço.
- A primeira coluna contém um número de área de trabalho inteiro.
- A segunda coluna contém um caractere '*' para a área de trabalho atual, caso contrário, ela contém um caractere '-'.
- As próximas duas colunas contêm a cadeia fixa DG: e, em seguida, a geometria da área de trabalho como "x" (por exemplo, "1280x1024").
- As duas colunas seguintes contêm a cadeia fixa VP: e, em seguida, a posição da janela de visualização no formato ',' (por exemplo, '0,0').
- As próximas três colunas depois disso contêm a string fixa WA: e, em seguida, duas colunas com a geometria da área de trabalho como 'X, Y e WxH' (por exemplo, '0,0 1280x998').
- O restante da linha contém o nome da área de trabalho (possivelmente contendo vários espaços).
Extra Cool coisas que você pode fazer com wmctrl
lista informações sobre o Gerenciador de Janelas
$ wmctrl -m
Name: compiz
Class: N/A
PID: N/A
Window manager's "showing the desktop" mode: OFF
lista de janelas ativas
$ 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
Uma linha é enviada para cada janela, com a linha dividida em colunas separadas por espaço.
- A primeira coluna sempre contém a identidade da janela como um inteiro hexadecimal.
- A segunda coluna sempre contém o número da área de trabalho (a -1 é usada para identificar uma janela adesiva).
- Se a opção
-p
for especificada, a próxima coluna conterá o PID da janela como um inteiro decimal. - Se a opção
-G
for especificada, quatro colunas inteiras serão seguidas: deslocamento x, deslocamento y, largura e altura. - A próxima coluna contém sempre o nome da máquina do cliente.
- O restante da linha contém o título da janela (possivelmente com vários espaços no título).
-p
switch example
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
switch example
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
* NOTA: As opções -p
e -G
também podem ser combinadas!
mudando para uma área de trabalho diferente
$ wmctrl -s 2
OBSERVAÇÃO: os desktops são numerados a partir de 0, então 1 seria o segundo.
reduz o número de desktops
$ wmctrl -n 3
Agora temos 3 em vez de 4.
$ wmctrl -d | wc -l
3
Agora coloque de volta para 4.
$ wmctrl -n 4
$ wmctrl -d | wc -l
4
Fechando uma janela
$ wmctrl -l | grep GVIM
0x02a00003 0 grinchy [No Name] - GVIM
$ wmctrl -c GVIM
$ wmctrl -l | grep GVIM
$