
Por que é que uma aplicação com um tempo de carregamento longo (NetBeans, Eclipse etc.) dá um "salto" para o desktop atual, mesmo que o processo tenha sido iniciado em outro?
Se eu for para a área de trabalho 3 e iniciar um aplicativo e, em seguida, for para a área de trabalho 2 enquanto espero, quando o aplicativo for carregado, ele será iniciado na área de trabalho 2. Existe uma maneira de mudar isso?
Responder1
Este é um problema bastante complicado.
O Window Manager (WM) deve, quem diria, gerenciar janelas. Isto inclui, mas não se limita à sua posição, dimensões, área de trabalho e se recebem decoração ou não. O que não faz parte do WM é lançar aplicativos de qualquer forma, ele apenas verá e gerenciará as janelas que aquele processo irá gerar. Então, o que acontece?
- Mudar para a área de trabalho 2
- Inicie o NetBeans
- A Splash-Screen é criada como uma janela sem decorações na Área de Trabalho 2
- Mudar para a área de trabalho 3
- A tela inicial do NetBeans permanece no Desktop 2
- O NetBeans está pronto e finalmente cria a janela principal, que é obviamente enviada para a área de trabalho atual, pois é uma janela completamente nova
O problema neste caso é que o Gerenciador de Janelas desconhece completamente (ou ignora, não tenho certeza)Quemessa janela pertence. Existem duas possibilidades:
Encontre um gerenciador de janelas que faça ...
- ... suporta agrupamento de janelas por seu processo pai
- ...permite definir regras para cada janela
Ou você obtém um aplicativo auxiliar comoTorta do Diaboque permite definir regras de janela.
Responder2
Se você usa o compiz (sim, você pode até no 12.04;)), você pode tentar instalar o compizconfig-settings-manager
e depois ir para o Place Windows
submenu para adicionar um novo Fixed Window tab
onde você selecionará a classe (nome) do seu aplicativo e da área de trabalho.
Caso contrário, você poderia usarwmctrlisso permitirá que você inicie seus aplicativos e forçá-los a ir para uma de suas áreas de trabalho.