Os gerenciadores de janela que aderem aos padrões FreeDesktop armazenam informações sobre desktops em propriedades da janela raiz , em particular:
-
_NET_NUMBER_OF_DESKTOPS: número de desktops virtuais -
_NET_CURRENT_DESKTOP: índice da área de trabalho ativa -
_NET_DESKTOP_NAMES: lista de nomes dos desktops virtuais
Você pode acessá-los com qualquer interface para XGetWindowProperty como xprop . No shell, wmctrl -d fornece uma maneira prática de listar os desktops virtuais.
Até onde sei, apenas o gerenciador de janelas é notificado quando uma propriedade da janela raiz é alterada. Portanto, se você quiser reagir à troca de área de trabalho virtual, terá que trabalhar com o gerenciador de janelas. Por exemplo, com o seu caso de uso, eu usaria os ganchos Lisp fornecidos pelo meu gerenciador de janelas ( Sawfish ) quando qualquer coisa interessante acontecesse. / p>