Estou curioso para saber como posso obter informações como as dimensões da minha área de trabalho, qual área de trabalho está ativa no momento e quais rótulos (se houver) estão definidos para meu ambiente de área de trabalho (DE).
Responder1
Usando a ferramenta wmctrl
você pode obter todas as informações acima, especificamente a -d
chave.
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 é gerada para cada área de trabalho, com a linha dividida em colunas separadas por espaço.
- A primeira coluna contém um número inteiro da área de trabalho.
- A segunda coluna contém um caractere '*' para a área de trabalho atual; caso contrário, contém um caractere '-'.
- As próximas duas colunas contêm a string fixa DG: e então a geometria da área de trabalho como 'x' (por exemplo, '1280x1024').
- As duas colunas a seguir contêm a string fixa VP: e depois a posição da janela de visualização no formato ',' (por exemplo, '0,0').
- As próximas três colunas após esta contém a string fixa WA: e então 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).
Coisas muito legais que você pode fazer com wmctrl
listar 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
listar 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 é gerada 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 número inteiro hexadecimal.
- A segunda coluna sempre contém o número da área de trabalho (um -1 é usado para identificar uma janela fixa).
- Se a
-p
opção for especificada, a próxima coluna conterá o PID da janela como um número inteiro decimal. - Se a
-G
opção for especificada, quatro colunas inteiras se seguirão: deslocamento x, deslocamento y, largura e altura. - A próxima coluna sempre contém o nome da máquina cliente.
- O restante da linha contém o título da janela (possivelmente com vários espaços no título).
-p
exemplo de mudança
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
exemplo de mudança
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
*OBSERVAÇÃO:Os interruptores -p
e -G
também podem ser combinados!
mudando para uma área de trabalho diferente
$ wmctrl -s 2
OBSERVAÇÃO:Os desktops são numerados começando em 0, então 1 seria o segundo.
reduzir o número de desktops
$ wmctrl -n 3
Agora temos 3 em vez de 4.
$ wmctrl -d | wc -l
3
Agora coloque de volta em 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
$