Como posso obter informações sobre meus desktops virtuais por meio da linha de comando?

Como posso obter informações sobre meus desktops virtuais por meio da linha de comando?

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 wmctrlvocê pode obter todas as informações acima, especificamente a -dchave.

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 -popção for especificada, a próxima coluna conterá o PID da janela como um número inteiro decimal.
  • Se a -Gopçã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).

-pexemplo 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

-Gexemplo 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 -pe -Gtambé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
$ 

informação relacionada