Você pode dizer a uma janela para aparecer atrás de outras pessoas?

4

Eu tenho um script que recompila e relança um projeto de software que estou construindo no linux. No entanto, geralmente não quero ver a janela do meu programa imediatamente após o lançamento, já que quero manter o foco do meu teclado na minha janela do vim.

Normalmente, meu programa é iniciado, recebe automaticamente o foco e aparece na parte superior das outras janelas na minha área de trabalho.

É possível no linux lançar um programa, mas não tê-lo em foco, e não aparecer em cima de todas as outras janelas?

Nota: Se for importante, estou executando o Fedora 13, o GNOME, o Compiz e use os temas da Emerald.

    
por Cory Klein 09.04.2011 / 00:49

2 respostas

6

Alguns gerenciadores de janelas têm muita customização para fazer coisas assim, mas outros mais recentes, incluindo metacity e compiz, perderam esse tipo de personalização. Eu costumava usar o fvwm para fazer coisas assim. Uma abordagem independente mais simples do WM seria tentar reatribuir o foco à janela da direita. Veja o link do xdotool. Deve estar disponível no seu repositório de distro. Pode, entre outras coisas, atribuir foco a um Windows específico. Eu suponho que você está executando um script de um terminal que você não quer perder o foco. Se assim for, você deve ser capaz de usar o $ WINDOWID para recuperar o ID da Janela do seu terminal e usar o xdotool no final do script para refocar o seu Terminal.

    
por 09.04.2011 / 01:45
2

Uma alternativa é fazer com que o programa se conecte a um servidor X diferente. Você pode tanto

  1. execute uma instância separada do X em um console virtual diferente. Mudar com por ex. Ctrl-alt-F8.
  2. execute o Xnest para ter um servidor X atuando como um cliente no Xserver principal

De qualquer forma, seu script de teste deve definir DISPLAY para redirecionar o programa para o outro servidor X (provavelmente será nomeado: 1).

    
por 09.04.2011 / 08:00