Como impedir que os aplicativos roubem o foco quando iniciam no Mac OS X?

13

Aqui está um exemplo de caso de uso:

  1. Abra o Firefox
  2. Coloque o cursor em algum lugar onde você possa digitar
  3. Abra outra coisa (eclipse é meu exemplo atual ..)
  4. 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. .

erikvold
fonte
Você pode criar um link para sua fonte no Windows?
bwerks

Respostas:

1

Eu acho que você não pode: D Você sempre pode executar o Eclipse em uma área de trabalho diferente;)

aouaou
fonte
alternar desktops no meu macbook é muito trabalho imo (duas teclas distantes, sem teclado retroiluminado ...), eu perco a queda de 4 dedos muito.
21710 erikvold
o Windows pode fazer isso entre nós, e acho difícil acreditar que o osx não possa fazer isso, porque isso seria uma enorme falha na usabilidade.
21710 erikvold
1
"Eu não gosto" ≠ "falha na usabilidade".
Lawrence Velázquez
verdade .. mas não foi isso que eu disse. O que quero dizer é que permitir que os aplicativos roubem o foco sem fornecer ao usuário a capacidade de desabilitar isso é uma falha na usabilidade.
erikvold
especialmente quando o windows-xp oferece uma solução para o mesmo problema.
erikvold
6

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.

Geoff Colbath
fonte
Nota: Não perca seu tempo ... A CNet removeu o conteúdo que estava no final do link mencionado nesta resposta. Já se passaram quase sete anos desde que esta resposta foi publicada ... Respostas ruins como essa não podem ser descontinuadas do arquivo; eles perdem muito tempo.
Seamus
0

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.

NReilingh
fonte
Eu abro o eclipse da estação, mas se é o mesmo que o caso do Finder na sua resposta, então aqui está o que há de errado com a sua resposta: não importa se o eclipse rouba o foco do Finder ou da estação, porque depois ele rouba o foco daquela é quando eu mudo para o Firefox e começo a digitar.
31410 erikvold
para resumir, o que eu quero fazer não pode ser feito de novo?
31710 erikvold
Certo - qualquer aplicativo pode roubar o foco a qualquer momento, a menos que seu aplicativo atual o proíba. Alguns aplicativos podem fazer isso várias vezes em seu ciclo de lançamento antes de se estabelecerem - eu certamente experimentei isso. Realmente, é uma função do aplicativo, e a única maneira de contorná-lo é editando os aplicativos como descrevi acima ou usar outros.
NReilingh
portanto, o Windows permitirá que você impeça que os aplicativos roubem o foco, mas o OSX não ... Acho isso difícil de acreditar.
21710 erikvold
Isso é estranho - existem algumas perguntas postadas aqui sobre como impedir que aplicativos do Windows roubem o foco, e a solução alternativa parece ser um software de terceiros.
NReilingh