Sono abituato a collegarmi a proiettori per sale conferenze o grandi schermi che variano in risoluzione, quindi mentre mi muovo da una stanza all'altra nel corso della giornata, anche le mie finestre devono essere costantemente ridimensionate. Quindi sento il tuo dolore. :-)
Per evitare confusione, voglio definire un paio di termini per questa risposta:
- Il display principale è quello con la barra dei menu nella scheda Disposizione in Preferenze di Sistema.
- Il display principale è quello su cui vuoi fare cose, indipendentemente dal fatto che sia il display principale.
- Il display secondario è quello senza la barra dei menu nella scheda Disposizione in Preferenze di Sistema.
Fondamentalmente, il problema è che vedi una differenza importante tra il display principale e quello principale; Mac OS X no, e ti combatterà quando proverai a mantenere questa distinzione trattando il display secondario come display principale.
A meno che non provino diversamente a fare diversamente, le app si apriranno sempre su qualsiasi display principale. Questa è sicuramente una delle caratteristiche del display principale. (È una parte di livello piuttosto basso dell'API Quartz, in particolare la chiamata CGConfigureDisplayOrigin , quindi questo comportamento non è configurabile se l'app stessa non consente di configurarla.)
Suggerirei forse di chiederti quali sono le cose che ti rendono fastidioso ("pasticciare con altre cose" mentre lo metti nel tuo commento) per non mantenere il tuo display principale come display principale quando ti connetti, perché potrebbero essere configurabili ; questo comportamento non lo è.
Ho un paio di trucchi per te che potrebbero aiutarti, però:
Il mirroring e quindi il non-mirroring dei display fanno sì che tutte le finestre troppo grandi per adattarsi allo schermo più piccolo vengano ridimensionate e si adattino a tutte le finestre sul display principale. Non è la soluzione perfetta, lo so, poiché vuoi cose sul display secondario, ma può essere un'utile soluzione alternativa quando combinata con il trucco successivo, specialmente se conosci la scorciatoia da tastiera: ⌘-F1. Premerlo, lasciare che il sistema passi al mirroring e premerlo di nuovo. Tutte le finestre verranno ridimensionate sul display più piccolo e saranno sul display principale.
Un altro strumento molto utile per aggirare il problema è BetterTouchTool , che consente di impostare i gesti "Centra finestra su Monitor successivo" e "Massimizza finestra su Monitor successivo". Assegna questi a clic a quattro e cinque dita, rispettivamente, e quindi posso rapidamente aprire una finestra da un monitor all'altro semplicemente schiacciando il trackpad. (Se non si utilizza un trackpad quando si è collegati al grande display, BTT può fare gesti anche con altri dispositivi di puntamento.)
Questi due trucchi insieme hanno reso il lavoro con risoluzioni in costante cambiamento non perfetto, ma almeno tollerabile. Se voglio avere tutte le mie finestre sul display secondario (sto dando una sessione di allenamento, diciamo, e voglio che la barra dei menu sia visibile agli studenti, ma voglio che tutte le mie finestre non correlate al training siano sull'altro display) , Faccio il trucco del mirror / unmirror e poi schiaccio quattro volte il trackpad un sacco di volte fino a quando le finestre non sono saltate fuori.
Infine, se ti piace giocherellare, potresti dare un'occhiata a questo Applescript che sposta tutte le finestre in primario con un metodo diverso. A differenza del metodo di mirroring, che sposta Windows in primario come effetto collaterale, questo lo fa esplicitamente, quindi è possibile modificarlo per spostare Windows sul display principale, secondario, preferito. Ma non è facile, il che potrebbe darti un'idea del perché tutto ti sta combattendo contro questo uso. Ecco la linea cruciale di questo Applescript:
set position of window x to {0, 22}
Poiché la barra dei menu ha 22 coordinate di visualizzazione (che prima erano i "pixel" prima della visualizzazione di Retina) e gli schermi e le finestre hanno i loro punti di origine in alto a sinistra, questa linea sposta la finestra x a destra in basso e a filo a sinistra con la barra dei menu. Per adattare questo script in modo da spostare invece tutte le finestre nella parte superiore sinistra del display secondario, dovresti capire le sue coordinate e usarlo come valore x. Nella disposizione che mostri nel tuo screenshot, lo "0" verrà sostituito da un numero negativo , poiché sei alla sinistra della barra dei menu. Ci vorrebbe un po 'di confusione per ottenere il giusto, soprattutto se si voleva che la sceneggiatura funzionasse indipendentemente dalla disposizione.
Questo è tutto kludgey, lo so; ma dovrai accettare kludges se vuoi che il display principale e quelli principali siano diversi. Ecco perché ti consiglio vivamente di provare ad affrontare ciò che ti impedisce di lasciare che l'altro display sia primario piuttosto che combattere questa battaglia particolare.