Existe alguma maneira de impedir que o foco seja capturado por outro aplicativo?

9

Estou ficando irritado com as janelas sob a abertura do X e desviando o foco da janela atual que tem o foco. Isso é particularmente irritante quando você digita uma senha em um diálogo de senha e outro aplicativo rouba o foco; portanto, algumas das teclas digitadas acabam no novo aplicativo.

Eu sempre me irritei com isso no Windows, mas há pouco que pode ser feito sobre isso lá e não posso deixar de pensar que isso deve ser corrigido no Unix.

Atualmente, estou usando o Gnome como meu ambiente de área de trabalho (no RHEL 5.8) e de acordo com o wmctrl -mque estou usando atualmente Metacitycomo meu gerenciador de janelas. Embora eu prefira seguir essas opções padrão, ficaria feliz em aprender sobre os gerenciadores de janelas que não apresentam esse comportamento.

Mark Booth
fonte
11
Eu não uso o gnome, mas deve haver configurações do gerenciador de janelas e talvez ferramentas de ajustes de janelas que tenham uma configuração baseada em 'roubar foco'.
vgoff
3
O Gnome não é um gerenciador de janelas, mas um ambiente de área de trabalho inteiro, que pode usar qualquer um de uma variedade de gerenciadores de janelas.
Jw013
Tenha cuidado com o que você deseja. Eu tenho o problema oposto no Gnome. ask.fedoraproject.org/en/question/112121/… O comportamento oposto é mais irritante do que você pensa.
alfC

Respostas:

5

FWIW, com xterm, clique no botão esquerdo do mouse enquanto mantém pressionada a Ctrltecla para abrir um menu onde você pode selecionar o teclado seguro . que usa o XGrabKeyboard para obter uso exclusivo do teclado.

Você também pode vinculá-lo a uma chave como:

xterm -xrm 'XTerm.VT100.translations: #override Shift <KeyPress> F2: secure()'

Para Shift-F2. Embora você prefira isso em um arquivo de recurso (carregado por xtermlike ~/.Xdefaultsou armazenado no servidor X xrdbe consultado pelo xterm) do que na linha de comando.

Stéphane Chazelas
fonte
Isso é muito específico, do xtermqual não me lembro de ter usado por anos. Eu teria pensado que a maioria das pessoas usando o Gnome estaria usando gnome-terminal.
Mark Booth
Eu uso o xterm para muitas coisas, tenho várias abertas ao mesmo tempo em que é leve; nunca pensei que poderia ter tal coisa! valeu!
Poder de Aquário
2

Você não está dizendo qual gerenciador de janelas você está usando no gnome. A maioria dos mais comuns são metacity, compiz(e gnome-shell em novas versões do gnome) que você pode usar qualquer que você gosta (embora alguns integrar melhor com gnome do que outros).

Para o openbox, altere seu arquivo de configuração (algo do ~/.config/openbox/rc.xmlqual você pode copiar /etc/xdg/openbox/rc.xml) para:

<focus>
  <focusNew>no</focusNew>
  <!-- always try to focus new windows when they appear. other rules do
       apply -->
Stéphane Chazelas
fonte
Eu instalei o openbox apenas para tentar isso, mas acho que você esqueceu de dizer, em qual arquivo você encontra essas linhas?
Emanuel Berg
OK, encontrou:/etc/xdg/openbox/rc.xml
Emanuel Berg
@MarkBooth. Tentewmctrl -m
Stéphane Chazelas