Estou acostumado a conectar-se a projetores de salas de conferências ou telas grandes que variam em resolução. Portanto, à medida que passo de sala em sala ao longo do dia, minhas janelas também precisam ser redimensionadas constantemente. Então eu sinto sua dor. :-)
Para evitar confusão, quero definir alguns termos para esta resposta:
- A exibição principal é aquela com a barra de menus na guia Arranjo em Preferências do sistema.
- A tela principal é aquela na qual você deseja coisas, independentemente de ser a tela principal.
- A exibição secundária é aquela sem a barra de menus na guia Arranjo em Preferências do sistema.
Basicamente, o problema é que você vê uma diferença importante entre as telas principal e principal; O Mac OS X não funciona, e o combate será quando você tentar manter essa distinção tratando a tela secundária como a tela principal.
A menos que eles tentem fazer o contrário, os aplicativos sempre serão abertos em qualquer tela principal. Essa é definitivamente uma das características da tela principal. (É uma parte de nível bastante baixo da API do Quartz, especificamente a chamada CGConfigureDisplayOrigin , portanto esse comportamento é inconfigurável se o próprio aplicativo não permitir que você o configure.)
Eu sugiro que talvez pergunte sobre as coisas que estão tornando irritante para você ("mexe com outras coisas", como você coloca em seu comentário) para não manter sua tela principal como a tela principal quando você se conecta, porque elas podem ser configuráveis ; esse comportamento não é.
Tenho alguns truques para você que podem ajudar:
O espelhamento e o não espelhamento de telas fazem com que todas as janelas grandes demais para caberem na tela menor sejam redimensionadas e ajustem todas as janelas para a tela principal. Não é a solução perfeita, eu sei, já que você deseja coisas na tela secundária, mas pode ser uma solução útil quando combinada com o próximo truque, especialmente se você souber o atalho do teclado: ⌘-F1. Pressione, deixe o sistema alternar para espelhamento e pressione novamente. Todas as suas janelas serão redimensionadas para a menor tela e estarão na tela principal.
Outra ferramenta muito útil para solucionar o problema é o BetterTouchTool , que permite definir os gestos "Janela central no próximo monitor" e "Maximizar janela no próximo monitor". Eu os atribuo a cliques de quatro e cinco dedos, respectivamente, e então posso rapidamente abrir uma janela de um monitor para o outro apenas pressionando o trackpad. (Se você não usar um trackpad quando estiver conectado à tela grande, o BTT também poderá fazer gestos com outros dispositivos apontadores.)
Esses dois truques juntos tornaram o trabalho com resoluções em constante mudança não perfeito, mas pelo menos tolerável. Se eu quiser colocar todas as minhas janelas na tela secundária (estou dando uma sessão de treinamento, digamos, e quero que a barra de menus fique visível para os alunos, mas quero que todas as minhas janelas não relacionadas ao treinamento estejam na outra tela) , Eu faço o truque de espelho / unmirror e bato com o dedo no trackpad várias vezes até que as janelas sejam abertas.
Finalmente, se você gosta de mexer, pode dar uma olhada neste Applescript, que move todas as janelas para o primário por meio de um método diferente. Diferentemente do método de espelhamento, que move as janelas para o primário como efeito colateral, este é feito explicitamente; portanto, você pode modificá-lo para mover as janelas para a exibição principal e secundária preferida. Mas não é fácil, o que pode lhe dar uma idéia de por que tudo está lutando contra esse uso. Aqui está a linha crucial deste Applescript:
set position of window x to {0, 22}
Como a barra de menus possui 22 coordenadas de exibição (o que costumava ser "pixels" antes da exibição do Retina), é alta e as telas e janelas têm seus pontos de origem no canto superior esquerdo, essa linha move a janela x logo abaixo e alinhada à esquerda com a barra de menus. Para adaptar esse script, ele moveria todas as janelas para o canto superior esquerdo da tela secundária, você precisaria descobrir suas coordenadas e usá-lo como valor x. No arranjo que você mostra na sua captura de tela, o "0" será substituído por um número negativo , pois você estará à esquerda da barra de menus. Levaria algum tempo para se acertar, especialmente se você quisesse que o script funcionasse independentemente do arranjo.
Isso é tudo kludgey, eu sei; mas você precisará aceitar kludges se quiser que a tela principal e a principal sejam diferentes. É por isso que eu recomendo fortemente que você tente abordar o que está impedindo que a outra exibição seja principal, em vez de travar essa batalha em particular.