Existe alguma maneira de um script bash procurar o nome do espaço de trabalho atual (área de trabalho virtual)?
Isso parece realmente útil para coisas como personalizar comportamentos no meu arquivo .bashrc, com base na área de trabalho na qual o shell foi criado.
wmctrl -d | grep '*' | sed 's/.* //g'
Respostas:
Você pode fazer isso com
wmctrl -d
para listar todos os espaços de trabalho. O*
representa o espaço de trabalho atual:Portanto, para obter apenas o atual, grep para o
*
:Espero que isto ajude!
fonte
wmctrl -d
wmctrl -d
.Viewports no Unity
Se você estiver usando o Unity , a viewport atual não poderá ser recuperada diretamente de
desde que o Unity tenha viewports, que não são detectados diretamente por
wmctrl -d
. A saída mostrará apenas um espaço de trabalho:xrandr
)5040x2100
. Ou seja, viewports 3x2: 5040/1680 = 3 e 2100/1050 = 2.1680,1050
( janela de visualização) (x, y)O script abaixo calcula a viewport atual com essas informações:
Usar:
Instalar
wmctrl
Execute-o pelo comando
Ele produzirá 1, 2, 3 ou qualquer que seja a viewport atual. Ele conta automaticamente linhas / colunas que sua configuração da janela de exibição pode incluir.
Explicação
O script
xrandr
, incluindo possíveis monitores extras.fonte
Pelo menos no shell Gnome, mas provavelmente em outro WM, você pode perguntar diretamente ao Xserver (se estiver em Wayland, não faço ideia).
Basicamente, o comando
xprop
retornaráe então você pode massagear um pouco as informações para obter o que precisa.
fonte
_NET_DESKTOP_NAMES
.