Impedir que o Mavericks abra aplicativos na segunda tela?


15

Eu tenho um MacBook Pro e conectei um monitor externo a ele, até agora, ótimo. No entanto, o Mavericks parece insistir em abrir novos aplicativos na tela secundária, mesmo se a janela / aplicativo atualmente ativo (principal e principal) estiver na tela principal. Incrivelmente frustrante, porque eles têm tamanhos de tela diferentes e isso mexe muito com meus tamanhos de janela salvos. Existe alguma maneira de impedir o Mavericks de fazer isso? Eu só quero que os aplicativos sejam abertos na tela principal ou, pelo menos, lembre-os de qual tela eu os fechei da última vez.

Caso isso ajude, este é o meu arranjo de exibição nas preferências do sistema: insira a descrição da imagem aqui


talvez você deva tornar a outra exibição sua exibição principal. dê uma olhada aqui osxdaily.com/2010/04/27/set-the-primary-display-mac
Konqui

Tentei com uma instalação limpa, ainda, mesmo problema. Arquivou um radar para ele, pois parece ser um bug e nada de propósito.
JustSid

Respostas:


16

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.


Desculpe pela confusão, mas eu queria dizer que eu quero o meu monitor principal a ser a tela principal (curiosamente, o display principal é a tela principal CoreGraphics retorna o mesmo. CGDisplayIDPara eles)
JustSid

@JustSid - Interessante, você está dizendo que os aplicativos estão abrindo na tela mais à esquerda acima? Isso é bizarro e não posso replicá-lo - como mencionei, um dos comportamentos específicos da janela principal é que é onde os aplicativos abrem novas janelas por padrão. Tudo o que posso pensar é: tente empurrar a tela para baixo para que não fique nivelada por cima? Não tenho explicação para o motivo , mas talvez a exibição principal seja maior no eixo y ajudaria. Eu disse que não podia replicá-lo, mas não tenho um monitor externo menor para tentar se isso - estranhamente - é o que está causando isso.
Trey

Sim, esse é exatamente o problema. Tudo abre na tela secundária menor, embora eu queira que as coisas abram na grande tela principal! Mas reorganizar um pouco a tela secundária corrigiu um pouco o problema! Não sei de onde você tirou essa ideia, mas é brilhante, muito obrigado! Atualizando meu radar e espero que ele esteja corrigido em 10.9.1 (ele não estava lá entre 10.7-10.8).
JustSid

@JustSid "você está dizendo que os aplicativos estão abrindo na tela mais à esquerda acima?" Tenho o mesmo problema: aplicativos e documentos abrindo no meu monitor secundário.
bames53

5

No Mavericks, há uma distinção entre monitores ativos e inativos. Você pode ver qual monitor está ativo olhando para a sua barra de menus (presumo que você use o novo comportamento dos espaços do Mavericks). Se você compará-los nas duas telas, um ficará desbotado e o outro ficará opaco. Aquele que é quase opaco é ativado e novas janelas de aplicativos serão abertas na tela com a tela da barra de menus opaca, a menos que existam outras janelas do mesmo aplicativo na outra tela.

Então, como você pode alterar qual tela está ativa?

Basta pressionar em qualquer lugar da área de trabalho na tela em que deseja abrir a janela. Isso tornará a barra de menu da tela quase opaca e a abertura da janela deve agora abri-la na tela.

Observe também que esse comportamento é independente da sua posição no Docks. Na minha experiência, tive que clicar na área de trabalho (entre os arquivos) para ativar a outra tela (com o que quero dizer colocá-la no estado ativo)

Atualizar

É certo que isso não impede o Mavericks de abrir janelas na outra tela. Você pode ir para "controle de missão" nas configurações do sistema e desmarcar "os monitores usam espaços diferentes" para voltar ao comportamento anterior ao Mavericks. Dessa forma, ele será aberto na tela fechada pela última vez e / ou na tela em que a barra de menus está. O método que descrevi acima da atualização é apenas uma solução alternativa da maneira Mavericks.


"O que é quase opaco é ativado e novas janelas de aplicativos serão abertas na tela com a tela opaca da barra de menus, a menos que existam outras janelas do mesmo aplicativo na outra tela." Estou abrindo documentos e eles estão abrindo na exibição secundária, apesar de não haver outras janelas nesse aplicativo abertas na tela e janelas abertas desse aplicativo na tela principal (porque eu continuo movendo todas elas). Se eu fechar uma janela de documento na tela principal e, em seguida, abrir esse documento novamente, ela colocará a janela na tela secundária e eu tenho que movê-la novamente.
bames53

3

com o aplicativo aberto, pressione F3 para abrir o Controle da Missão e arraste o aplicativo para a tela na qual deseja que ele seja aberto no futuro. Ele está atribuído a um "espaço" no seu computador - Altere o espaço ao qual está atribuído.


2

Novas janelas sempre serão abertas na tela com a 'barra de menus'; basta mover a barra de menus 'padrão' para a Tela onde você prefere que sejam abertas novas janelas.

Veja a captura de tela acima da caixa de diálogo "Preferências de exibição". Observe que apenas um dos 'Monitores' mostra uma barra de menus. Além disso, observe o texto "Para realocar a barra de menus, arraste-a para uma tela diferente".


4
Bem, sim, meu argumento era que a barra de menus já estava na tela certa e que definitivamente tinha o foco, mas os programas foram abertos na outra tela.
JustSid

1

Eu estava tendo o mesmo problema. O que eu encontrei são aplicativos abertos em qualquer tela em que o dock esteja.

Eu tinha minhas telas configuradas da mesma forma que a sua, encaixe no lado esquerdo. Troquei o dock para a direita e agora eles se abrem no monitor principal e não no secundário.


0

Para que o OS X abra sempre um aplicativo em um monitor específico no Mavericks ou mais recente, clique com o botão direito do mouse no ícone do dock do aplicativo e selecione "Opções" - Atribuir à área de trabalho 1 ou 2 (a área de trabalho 2 deve ser sua tela secundária). Descobri que isso nem sempre funciona depois que você arrasta alguns aplicativos para outra tela (por exemplo, o Safari em El Capitan). Uma vez lá, às vezes ele quer continuar abrindo lá e pelo menos em El Capitan, normalmente abre na tela principal, a menos que seja especificamente indicado dessa maneira para abrir na tela secundária. Você também pode usar as opções -> atribuir na estação para mover um programa de volta para qualquer tela (pode economizar tempo ao não precisar mover o mouse para outra tela para arrastá-lo de volta, principalmente se você tiver mais de dois monitores.

Eu só queria que houvesse uma opção para ter um Dock em todas as telas o tempo todo. Prefiro as docas montadas na lateral e você não pode migrar, o que é uma dor real. Enviei comentários sobre isso para a Apple, mas eles simplesmente ignoram. Seria tão fácil ter uma doca em cada tela em todos os momentos, como a barra de menu (talvez até um diferenteencaixe para cada tela para configurações em que você costuma usar certos aplicativos em determinadas telas) e faça com que cada encaixe em cada tela abra aplicativos na tela "ativa". Também não me importaria de ter um botão na janela com um "enviar para exibição". É mais simples do que ter que arrastar as janelas, principalmente se você as tiver organizado, para que não fiquem lado a lado (por exemplo, uso diagonal para não mover acidentalmente o mouse para o outro monitor, o que me permite manter o Dock ligado lado esquerdo do monitor direito, como eu gosto do dock à esquerda e dos ícones à direita o tempo todo, independentemente das posições do monitor).


1
O único aplicativo que tenho problemas é o TextEdit, que SEMPRE abre arquivos na tela da minha TV (vídeo secundário). Nenhuma das respostas neste segmento altera esse comportamento. Todos os outros aplicativos são abertos no meu monitor principal (Macbook). Não é uma tragédia ter que pegar manualmente as janelas do TextEdit de uma tela, arrastá-las para a outra e redimensioná-las, mas se enquadra na categoria Applesoft, não é? (Apple preventivamente cunhar esse termo por sua BASIC não me impede de também usá-lo para descrever os produtos da Apple que se comportam como os da Microsoft.)
mathematrucker
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.