O aplicativo iniciado não permanece na mesma área de trabalho

O aplicativo iniciado não permanece na mesma área de trabalho

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 ...

  1. ... suporta agrupamento de janelas por seu processo pai
  2. ...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-managere depois ir para o Place Windowssubmenu para adicionar um novo Fixed Window tabonde 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.

informação relacionada