top 2 > RunningPrograms.text
O comando acima irá mostrar todos os programas em execução para um arquivo de texto em seu diretório pessoal.
Eu gostaria de determinar programaticamente todas as janelas visíveis na área de trabalho para que eu possa colocar minha janela, se possível, para que ela não cubra outras janelas.
É possível fazer isso usando o pacote wnck (libwnck-3-dev, para ser exato) no Ubuntu 12.04.
No entanto, para realmente compilar e vincular no código do wnck, você deve definir o símbolo WNCK_I_KNOW_THIS_IS_UNSTABLE (você recebe um erro de compilação).
Isso me faz pensar que essa interface não é confiável.
A interface é muito boa (fornece nome da janela, geometria, se a janela é minimizada ou maximizada, e outras informações) muito mais facilmente que chamadas xlib brutas, e eu acho que algumas informações (minimização) não estão disponíveis no xlib.
Mas eu gostaria de usar uma interface estável, já que não quero reprogramar tudo a cada ano.
Então: agradecemos antecipadamente por quaisquer ponteiros para uma maneira preferida de obter uma lista de janelas e determinar a geometria (posicionamento) de cada um, e o estado de minimização de cada um.
O comando acima irá mostrar todos os programas em execução para um arquivo de texto em seu diretório pessoal.