O foco segue o mouse ou o foco superficial no Mac OS X

21

"Foco segue mouse" ou "foco superficial" é um recurso comum aos gerenciadores de janelas X11 no Linux / Unix, incluindo GNOME, KDE, CDE, XFCE e gerenciadores de janelas como Enlightenment, Fluxbox e Window Maker. Também está disponível via TweakUI no Windows. Alguns aplicativos individuais no OS X, como o iTerm, são compatíveis.

O que é isso? Simplificando, a janela onde está o ponteiro do mouse tem foco, em vez de precisar clicar em uma janela para obter foco.

A GUI nativa do OS X suporta isso, com algumas configurações ocultas?

jtimberman
fonte
Por que voce quer isso? (Eu sei que soa um pouco média, mas estou curioso.)
Benjamin Dobson
9
É um recurso do X11 que eu uso há muitos (~ 15) anos em sistemas Linux, e é bom colocar o mouse sobre outra janela.
jtimberman
Eewwh! Seus negócios, é claro, mas a primeira coisa que faço ao configurar um novo (para mim) WM no X é encontrar a opção de clicar para focar.
dmckee
Caso alguém esteja se perguntando a mesma coisa que @BenjaminDobson e, uma das maiores coisas que isso permite é desacoplar o foco da janela e o aumento da janela (colocando-o no topo). Pode parecer estranho, mas quando você está acostumado, a capacidade de digitar uma janela que não está "em cima" é enorme. Se parte da janela com a qual você está interagindo pode ser coberta por uma janela que exibe informações às quais você está se referindo ativamente, ela permite um número muito menor de cliques, movimentos e comutadores de teclado-mouse-teclado para muitas tarefas comuns.
derekv

Respostas:

8

O problema fundamental do foco superficial no Mac é que a barra de menus está sempre associada ao aplicativo atualmente focado; se você tivesse foco superficial, acessar a barra de menus para um aplicativo específico seria extremamente difícil.

Dito isto, o Zooom / 2 faz o que você deseja, além de fornecer equivalentes aos recursos do gerenciador de janelas de código-fonte aberto para mover e redimensionar janelas com a tecla Ctrl + clique.

Drew Stephens
fonte
3
O foco segue o mouse é legal, e a parte de atalho do teclado é interessante, mas eu gostaria de algo que não descobriu: /.
jtimberman
2
O Zooom / 2 apenas eleva (e foca) uma janela após um atraso.
de Drew Stephens
9
Como os outros comentários dizem, o Zooom / 2 na verdade não implementa FFM ou foco superficial. É limitado a janelas abertas, o que é uma coisa muito diferente. Infelizmente, parece que, por enquanto, não há uma boa maneira de fazer isso no OS X. Como o @andz respondeu, Steve Yegge tem uma boa descrição sobre isso, além de um código de exemplo que você pode usar para obter uma versão limitada de " foco superficial "(limitado por que as teclas modificadoras não funcionam).
pix0r 02/12/2009
6
De alguma forma, o Ubuntu Unity consegue ativar o foco segue o mouse ou o "foco superficial" com uma única barra de menus. Vergonha que a Apple não pode.
Jason R. Coombs
1
O foco superficial não deve funcionar bem com a barra de menus? Se o usuário só precisa costa do mouse sobre a área de trabalho para começar a partir da janela para a barra de menu, a janela original ainda deve ser focado e na barra de menu inalterada ...
binki
12

O aplicativo Terminal padrão incluído no Mac OS X fará o foco segue o mouse (somente dentro desse aplicativo e não aumentará automaticamente) se você executar esse comando a partir de um shell e reiniciar o aplicativo Terminal:

% defaults write com.apple.Terminal FocusFollowsMouse -boolean YES
John Siracusa
fonte
5
Sim, e eu uso o iTerm.app em vez do Terminal.app (outros motivos), que faz o mesmo. Quero o FocusFollowsMouse para todos os aplicativos, não apenas para terminais.
jtimberman
@jtimberman Obrigado! No iTerm2 Build 2.1.4, ativei-o em Perfis-> Abrir perfis (escolha um perfil e) Editar perfis ... Na guia Ponto, Configurações diversas, marque a opção Foco segue o mouse. Como isso é restrito ao iTerm, ele não atrapalha as outras partes da interface do usuário da Apple, e eu escrevo na janela do terminal que não está no topo. sim!
kmarsh
7

@Desenhou

O problema fundamental do foco superficial no Mac é que a barra de menus está sempre associada ao aplicativo atualmente focado; se você tivesse foco superficial, acessar a barra de menus para um aplicativo específico seria extremamente difícil.

A barra de menus não precisaria ser alterada, assim como você não precisaria ativar o aumento automático.

Dito isto, o Zooom / 2 faz o que você quer ...

Mas como foi mencionado nos comentários: não sem o aumento automático, o que apenas o torna inutilizável. Outra ressalva é que ele ativa o Finder sempre que você move o mouse sobre a área de trabalho; portanto, é necessário adicionar o Finder à lista de ignorados. Esses dois problemas também se aplicam ao MondoMouse .

Ainda não foi mencionado aqui, mas o OS X possui cliques - se você segurar , é possível clicar na maioria dos itens nas janelas em segundo plano.

Lri
fonte
Observe que Drew não será notificado de sua resposta. Você deve começar a comentar as postagens de outras pessoas se quiser responder a elas.
Daniel Beck
@ Daniel Eu realmente não pretendia responder a esta resposta como resposta a ele, apenas pensei que a citação em bloco teria parecido deslocada sem o nome de usuário. Mas seria melhor separar claramente as respostas dos comentários e citar outras respostas com moderação. Eu também fez pensar que outros respondentes pode ser notificado. O meta-tópico sobre respostas não o indica com muita clareza.
Lri
4

Deve-se observar que o Leopard introduziu o "Scrolling Focus Follows Mouse", onde você pode rolar através da roda de rolagem do mouse ou de um gesto do trackpad em qualquer janela em que o mouse estiver sobre.

Exceto, é claro, o Microsoft Word para Mac.

Este é um ótimo recurso que, embora não esteja completo com o Focus-Follows-Mouse, prova que alguns aspectos podem ser feitos no OS X.

cksubs
fonte
3

Não deve haver nenhum problema em fazer o foco-segue-mouse sem criar novos aplicativos em todos os aplicativos, como o exemplo do Terminal e o comando-clique provam, mas você precisaria injetar código nos aplicativos em execução via mach_inject ou similar. Você basicamente escreveria um "gerenciador de entrada" que redireciona as teclas / cliques sempre que o mouse entra em uma caixa de texto / botão. Qualquer clique que não aperta um botão aumenta a janela. E clicar com o comando somente aumenta a janela.

Jeff Burdges
fonte