Aqui está um exemplo de caso de uso:
- Abra o Firefox
- Coloque o cursor em algum lugar onde você possa digitar
- Abra outra coisa (eclipse é meu exemplo atual ..)
- Comece a digitar no Firefox até o eclipse roubar o foco e interromper o que você estava digitando
Como evito que os aplicativos roubem o foco e interrompam a digitação?
Atualizar:
As respostas que estou recebendo parecem sugerir que isso não pode ser feito, no entanto, pode ser feito no Windows, por isso acho difícil imaginar que não possa ser feito no OSX, que seria uma enorme falha de usabilidade se fosse assim. .
Respostas:
Eu acho que você não pode: D Você sempre pode executar o Eclipse em uma área de trabalho diferente;)
fonte
Caso alguém ainda esteja procurando uma resposta para isso, encontrei recentemente este artigo que deve lançar alguma luz sobre as possíveis soluções:
http://reviews.cnet.com/8301-13727_7-20085680-263/keep-applications-from-stealing-focus-when-opening-in-os-x/
Concedido, é de pouco mais de um ano após a pergunta original ter sido feita, mas as pessoas ainda estão procurando as respostas para as perguntas difíceis da vida, ao que parece.
TL; DR: você pode potencialmente modificar o próprio aplicativo e adicionar um conjunto de parâmetros ao "info.plist" do aplicativo ou escrever um script que iniciará o aplicativo atrás de outras janelas. Há uma terceira "opção" que basicamente diz que você pode manter um aplicativo acima dos outros, mesmo enquanto eles são iniciados, mas isso não impede necessariamente que o aplicativo recém-lançado roube o foco.
fonte
Essas qualidades são definidas tanto no aplicativo que você está iniciando quanto no aplicativo atualmente com foco. Veja, o Finder a partir do qual você inicia o Eclipse também é um aplicativo - se o Eclipse não roubou o foco do Finder, não pareceria que o lançamento do aplicativo fizesse alguma coisa. O padrão, portanto, é roubar o foco no lançamento do aplicativo. Talvez haja um plugin do Firefox que o torne "autocrático?" Você sempre pode adicionar uma chave LSUIElement ao Info.plist do aplicativo iniciado (dentro do pacote de aplicativos) que remove os elementos de interface do usuário de todo o aplicativo, mas que pode diminuir um pouco sua utilidade para você.
Executar um novo aplicativo em um espaço diferente e depois voltar não funcionou para mim; o aplicativo lançado só o levará de volta ao espaço depois que o carregamento terminar.
Realmente, o método infalível para evitar que seu foco seja roubado é apenas segurar seus cavalos e aguardar o carregamento de um aplicativo depois de iniciá-lo. A maioria dos usuários avançados mantém todos os aplicativos que eles usam regularmente abertos em segundo plano e só abrem algo novo quando precisam desviar sua atenção.
fonte