Como posso impedir que novas janelas apareçam sobre o que estou fazendo?

7

Normalmente, no Ubuntu 10.04 Netbook, se eu quiser abrir um programa, geralmente é a partir disso:
(Umprogramaaberto)

paraisso: Usando um lançador de programa para lançar outro programa http://a.yfrog.com /img251/3201/workspace2002thumb.png

(Abrindo outro programa usando o Kupfer )

para isso:

Como posso alterar o comportamento de modo que, após o lançamento do programa, o foco volte a ser (e permaneça ativo) no programa original ou, em outras palavras, todas as novas janelas sejam abertas em segundo plano?

Estou usando o Ubuntu 10.04 Netbook usando o Mutter, embora isso tenha acontecido ao usar o Metacity também.

    
por digitxp 04.09.2010 / 20:08

5 respostas

2

Editar: Na verdade, há um bug no GNOME Isso permitirá que você consiga o que deseja de forma simples. Tudo o que você precisa fazer é definir uma janela, qualquer janela , para Always On Top. Todas as janelas abertas posteriormente o farão em segundo plano e não obterão foco. Eu recomendo que você faça, por exemplo, um terminal o menor possível, coloque-o fora do caminho, por exemplo, em um canto, e defina Always On Top.

Observe que essa correção é simples de implementar, mas na verdade é uma solução confusa e não uma solução real, e deixará de funcionar assim que o bug vinculado for corrigido (embora isso possa estar a mais de 2 anos).

Existe uma chave gconf para o Mutter para evitar que as aplicações roubem o foco:

Inicie o gconf-editor, navegue até apps - > metacity - > geral e defina "focar novas janelas" para estrito.

Você pode achar que isso não é suficiente e que alguns ou todos os aplicativos ainda estão sendo lançados com foco. No mínimo, as opções acima impedirão que os aplicativos iniciados no terminal roubem o foco, para que você possa solucionar isso fazendo o seguinte:

Finja que os itens de menu e botões do painel são iniciados a partir de terminais, modificando o campo "comando".

Então, firefox se torna

gnome-terminal -e firefox

Alguns aplicativos não retornarão o prompt imediatamente, portanto, é necessário mais um passo na forma de um script.

O comando é gnome-terminal -e "/bin/bglaunch.sh firefox"

Onde /bin/bglaunch.sh é o script a seguir, que inicia o aplicativo em segundo plano:

#!/bin/bash
nohup $1 >/dev/null & 
    
por 13.09.2010 / 03:26
7

No Ubuntu Software Center, instale "Advanced Desktop Effects Settings (ccsm)".

Após a instalação, um novo item de menu chamado "Gerenciador de configurações CompizConfig" será exibido no menu Preferências do sistema e & gt ;. Clique nele e navegue até Geral- > Opções gerais- > Foco e aumento de comportamento. Defina o "Nível de prevenção de foco" como "Alto" ou "Muito alto" para impedir que novas janelas sejam abertas em primeiro plano.

    
por 12.09.2010 / 07:46
2

Uma maneira é, no menu principal, clicar com o botão direito do mouse na barra superior da janela e configurá-la para estar sempre na parte superior.

    
por 04.09.2010 / 21:26
1

20 anos atrás, as configurações de "foco agarrado" eram uma característica básica das preferências de exibição do sistema. Tanto para a tecnologia "avançada". : (

Uma maneira simples de abrir o programa em segundo plano e liberar o terminal seria "firefox &". O e comercial executa o comando como um processo em segundo plano. "/bin/bglaunch.sh firefox" Acredito que lançaria um terminal que então dispararia o firefox.

    
por 03.08.2013 / 20:11
0

oi! Tente isto:

#!/bin/bash
delay=0.5
while true; do 
        windowId='xdotool getwindowfocus'
        xdotool getwindowname $windowId
        xdotool windowactivate $windowId; 
        sleep $delay; 
done

Esse script depende de você definir o "Nível de prevenção de foco" alto o suficiente para que as novas janelas abertas não obtenham o foco. Ele funciona no Ubuntu 10.04 e 12.04, pelo menos, mas deve funcionar em qualquer lugar ... se falhar por você, diga isso e podemos pensar juntos!

Este é um loop infinito (quebras com ctrl + c) que irá "ativar" a janela que tem foco (foco para entrada de teclado). Assim, fará com que a janela focalizada "salte" para o primeiro plano a cada 0,5 segundo (você pode diminuir ou aumentar o valor de atraso de acordo com suas necessidades / gosto).

Assim, todos os novos aplicativos abertos e janelas ainda serão abertos em primeiro plano, mas serão ocultados imediatamente pela janela que está em foco!

Só para deixar claro, eles não serão abertos em segundo plano, mas esse script fornecerá quase o mesmo efeito. Quase porque se você é muito azarado, você ainda pode clicar na nova janela aberta antes que a focada seja colocada em primeiro plano, o que tornará a nova janela mais focada ... Reduzir o atraso ajudará a evitar isso, mas consumirá mais cpu, Acho que menos de 0,1 não é bom, mas você deve testar para ver o que funciona melhor para você ...

PS .: sua versão xdotool deve suportar estes comandos: getwindowfocus, getwindowname, windowactivate

    
por 02.01.2013 / 21:27