J'ai l'habitude de me connecter à des projecteurs de salle de conférence ou à des écrans géants dont la résolution varie. Ainsi, lorsque je me déplace d'une pièce à l'autre au cours de la journée, mes fenêtres doivent constamment être redimensionnées elles aussi. Je comprends donc votre douleur :-)
Afin d'éviter toute confusion, je tiens à définir quelques termes pour cette réponse :
- Le site écran principal est celui de la barre de menu dans l'onglet Arrangement des Préférences Système.
- Le site écran principal est celui sur lequel vous voulez que les choses soient affichées, qu'il s'agisse ou non de l'affichage principal.
- Le site écran secondaire est celui sans la barre de menu dans l'onglet Arrangement des Préférences Système.
En gros, le problème est que vous voyez une différence importante entre l'écran principal et l'écran principal ; Mac OS X ne la voit pas, et il va vous combattre lorsque vous essayez de maintenir cette distinction en traitant l'écran secondaire comme l'écran principal.
À moins qu'elles n'essaient spécifiquement de faire autrement, les applications s'ouvriront toujours sur l'écran principal, quel qu'il soit. C'est par définition l'un des caractéristiques de l'affichage principal. (Il s'agit d'une partie assez basse de l'API Quartz, plus précisément de la fonction CGConfigureDisplayOrigin donc ce comportement n'est pas configurable si l'application elle-même ne vous permet pas de le configurer).
Je vous suggère de vous renseigner sur les éléments qui vous gênent ("qui perturbent d'autres choses", comme vous le dites dans votre commentaire) pour ne pas garder votre écran principal comme écran principal lorsque vous vous connectez, car ces éléments sont peut-être configurables ; ce comportement ne l'est pas.
J'ai quelques astuces pour vous qui pourraient vous aider, cependant :
La mise en miroir puis la dé-mise en miroir affichent fait en sorte que toutes les fenêtres trop grandes pour s'adapter à l'écran plus petit soient redimensionnées et que toutes les fenêtres s'affichent sur l'écran principal. Ce n'est pas la solution parfaite, je sais, puisque vous voulez des choses sur l'écran secondaire, mais cela peut être une solution de contournement utile lorsqu'elle est combinée avec l'astuce suivante, surtout si vous connaissez le raccourci clavier : -F1. Appuyez sur ce raccourci, laissez le système passer en mode miroir, puis appuyez à nouveau. Toutes vos fenêtres seront redimensionnées à l'écran le plus petit et seront sur l'écran principal.
Un autre outil très utile pour contourner ce problème est la fonction BetterTouchTool qui vous permet de définir les gestes "Centrer la fenêtre sur le moniteur suivant" et "Maximiser la fenêtre sur le moniteur suivant". Je les attribue respectivement à des clics à quatre et cinq doigts, et je peux ainsi faire passer rapidement une fenêtre d'un moniteur à l'autre en appuyant sur le pavé tactile. (Si vous n'utilisez pas de trackpad lorsque vous êtes connecté au grand écran, BTT peut également effectuer des gestes avec d'autres périphériques de pointage).
Grâce à ces deux astuces, travailler avec des résolutions qui changent constamment n'est pas parfait, mais au moins tolérable. Si je veux afficher toutes mes fenêtres sur l'écran secondaire (je donne une formation, par exemple, et je veux que la barre de menus soit visible pour les étudiants, mais je veux que toutes les fenêtres qui ne sont pas liées à la formation soient sur l'autre écran), je fais le truc du miroir/démiroir, puis je tape à quatre doigts sur le trackpad plusieurs fois jusqu'à ce que les fenêtres soient toutes affichées.
Enfin, si vous aimez bricoler, vous pouvez jeter un coup d'oeil à cet Applescript qui déplace tous les Windows en primaire via une méthode différente. Contrairement à la méthode de la mise en miroir, qui déplace les fenêtres vers le primaire comme un effet secondaire, celle-ci le fait explicitement, de sorte que vous podría modifiez-le pour déplacer Windows vers l'écran principal, secondaire, de votre choix. Mais ce n'est pas facile, ce qui peut vous donner une idée de la raison pour laquelle tout vous oppose à cette utilisation. Voici la ligne cruciale de cet Applescript :
set position of window x to {0, 22}
Étant donné que la barre de menu a une hauteur de 22 coordonnées d'affichage (ce que l'on appelait "pixels" avant les écrans Retina) et que les écrans et Windows ont leur point d'origine en haut à gauche, cette ligne déplace fenêtre x juste en dessous et flush-gauche avec la menubar. Afin d'adapter ce script pour qu'il déplace toutes les fenêtres vers le haut et la gauche de l'écran secondaire, vous devez déterminer ses coordonnées et les utiliser comme valeur x. Dans l'agencement que vous montrez dans votre capture d'écran, le "0" sera remplacé par un nombre négatif puisque vous êtes à gauche de la barre de menu. Il faudrait faire quelques manipulations pour y arriver, surtout si vous voulez que le script fonctionne quelle que soit la disposition.
Tout ceci est très compliqué, je sais ; mais vous allez devoir accepter des difficultés si vous voulez que votre affichage principal et vos affichages principaux soient différents. C'est pourquoi je vous recommande vivement d'essayer de résoudre ce qui vous empêche de laisser l'autre affichage être principal plutôt que de vous battre dans cette bataille particulière.