Arrêter Mavericks d'ouvrir des applications sur le deuxième écran?

15

J'ai un MacBook Pro et y ai connecté un écran externe, jusqu'ici, tout va bien. Cependant, Mavericks semble insister pour ouvrir de nouvelles applications sur l'écran secondaire, même si la fenêtre / application actuellement active (clé et principale) est sur l'écran principal. Incroyablement frustrant car ils ont des tailles d'écran différentes et cela dérange terriblement avec mes tailles de fenêtres enregistrées. Y a-t-il un moyen d'empêcher Mavericks de le faire? Je souhaite uniquement que les applications s'ouvrent sur l'écran principal, ou du moins qu'elles se souviennent sur quel écran je les ai fermées la dernière fois.

Au cas où cela aiderait, voici ma disposition d'affichage à partir des préférences du système: entrez la description de l'image ici

JustSid
la source
vous devriez peut-être faire de l'autre affichage votre affichage principal. jetez un oeil ici osxdaily.com/2010/04/27/set-the-primary-display-mac
konqui
Je l'ai essayé avec une installation propre, toujours le même problème. J'ai déposé un radar pour cela, car il semble que ce soit un bug et rien exprès.
JustSid

Réponses:

16

J'ai l'habitude de me connecter à des projecteurs de salle de conférence ou à de grands écrans dont la résolution varie, de sorte que 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 également. Alors je ressens ta douleur. :-)

Afin d'éviter toute confusion, je souhaite définir quelques termes pour cette réponse:

  • L' affichage principal est celui avec la barre de menus dans l'onglet Arrangement des Préférences Système.
  • L' affichage principal est celui sur lequel vous voulez des éléments, qu'il s'agisse ou non de l'affichage principal.
  • L' affichage secondaire est celui sans la barre de menu dans l'onglet Arrangement des Préférences Système.

Fondamentalement, le problème est que vous voyez une différence importante entre les écrans principal et principal; Mac OS X ne le fait pas, et cela va vous combattre lorsque vous essayez de maintenir cette distinction en traitant l'écran secondaire comme écran principal.

Sauf s'ils essaient spécifiquement de faire autrement, les applications s'ouvriront toujours sur l'écran principal. C'est par définition l'une des caractéristiques de l'affichage principal. (Il s'agit d'un élément de bas niveau de l'API Quartz, en particulier l' appel CGConfigureDisplayOrigin , donc ce comportement n'est pas configurable si l'application elle-même ne vous permet pas de la configurer.)

Je suggérerais peut-être de poser des questions sur les choses qui le rendent ennuyeux pour vous ("mess avec d'autres choses" comme vous le dites dans votre commentaire) pour ne pas garder votre affichage principal comme affichage principal lorsque vous vous connectez, car ceux-ci peuvent être configurables ; ce comportement ne l'est pas.

J'ai quelques astuces pour vous qui pourraient aider, cependant:

La mise en miroir puis la non-mise en miroir des affichages entraîne le redimensionnement de toutes les fenêtres trop grandes pour tenir sur le plus petit écran et permet à toutes les fenêtres d'accéder à l'affichage principal. Ce n'est pas la solution parfaite, je sais, car vous voulez des choses sur l'affichage secondaire, mais cela peut être une solution de contournement utile lorsqu'il est combiné avec l'astuce suivante, surtout si vous connaissez le raccourci clavier: ⌘-F1. Appuyez dessus, laissez le système basculer en miroir et appuyez à nouveau dessus. Toutes vos fenêtres seront redimensionnées au plus petit affichage et seront sur l'affichage principal.

Un autre outil très utile pour contourner le problème est le BetterTouchTool , qui vous permet de définir les gestes "Centrer la fenêtre sur le moniteur suivant" et "Agrandir la fenêtre sur le moniteur suivant". Je les attribue respectivement à des clics à quatre et à cinq doigts, puis je peux rapidement faire apparaître une fenêtre d'un moniteur à l'autre en écrasant simplement le trackpad. (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.)

Ensemble, ces deux astuces ont rendu le travail avec des résolutions en constante évolution pas parfait, mais au moins tolérable. Si je veux afficher toutes mes fenêtres sur l'écran secondaire (je donne une session de formation, disons, et je veux que la barre de menu soit visible pour les étudiants, mais je veux que toutes mes fenêtres non liées à la formation soient sur l'autre écran) , Je fais l'astuce miroir / non-miroir, puis je tape à quatre doigts sur le pavé tactile plusieurs fois jusqu'à ce que les fenêtres soient toutes ouvertes.

Enfin, si vous aimez jouer, vous pouvez jeter un œil à cet Applescript qui déplace toutes les fenêtres au primaire via une méthode différente. Contrairement à la méthode de mise en miroir, qui déplace les fenêtres au niveau primaire comme effet secondaire, celle-ci le fait explicitement, vous pouvez donc la modifier pour déplacer les fenêtres vers votre affichage principal, secondaire préféré. Mais ce n'est pas facile, ce qui peut vous donner une idée de pourquoi tout vous combat contre cet usage. Voici la ligne cruciale de cet Applescript:

set position of window x to {0, 22}

Étant donné que la barre de menus a 22 coordonnées d'affichage (ce qui était auparavant des "pixels" avant l'affichage de Retina) et que les écrans et les fenêtres ont leurs points d'origine en haut à gauche, cette ligne déplace la fenêtre x juste en dessous et affleure à gauche avec la barre de menus. Afin d'adapter ce script afin qu'il déplace à la place toutes les fenêtres dans le coin supérieur gauche de l'affichage secondaire, vous devez déterminer ses coordonnées et les utiliser comme valeur x. Dans l'arrangement 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 un peu de tripotage pour bien faire les choses, surtout si vous vouliez que le script fonctionne quel que soit l'arrangement.

C'est tout kludgey, je sais; mais vous devrez accepter les kludges si vous voulez que votre écran principal et vos écrans principaux soient différents. C'est pourquoi je vous recommande fortement d'essayer de résoudre ce qui vous empêche de laisser l'autre affichage être principal plutôt que de mener cette bataille particulière.

Trey
la source
Désolé pour la confusion, mais je voulais dire que je veux que mon affichage principal soit l'affichage principal (curieusement, l'affichage principal EST l'affichage principal. CoreGraphics retourne la même chose CGDisplayIDpour eux)
JustSid
@JustSid - Intéressant, vous dites que les applications s'ouvrent sur l'écran le plus à gauche ci-dessus? C'est tout simplement bizarre et je ne peux pas le reproduire - comme je l'ai mentionné, l'un des comportements spécifiques de la fenêtre principale est que c'est là que les applications ouvrent de nouvelles fenêtres par défaut. Tout ce que je peux penser, c'est essayer de pousser l'écran vers le bas pour qu'il ne soit pas affleurant? Je n'ai aucune explication sur la raison pour laquelle cela serait, mais peut-être que votre affichage principal serait plus haut sur l'axe des y aiderait. J'ai dit que je ne pouvais pas le reproduire, mais je n'ai pas un écran externe plus petit pour essayer si c'est - étrangement - ce qui est à l'origine de cela.
Trey
Oui, c'est exactement le problème. Tout s'ouvre sur le petit écran secondaire, même si je veux que les choses s'ouvrent sur le grand écran principal! Mais, réorganiser un peu l'affichage secondaire a résolu le problème! Je ne sais pas où tu as eu cette idée, mais c'est génial, merci beaucoup! Je vais mettre à jour mon radar et j'espère qu'il est corrigé dans 10.9.1 (il n'était pas là tout au long de 10.7-10.8).
JustSid
@JustSid "vous dites que les applications s'ouvrent sur l'écran le plus à gauche ci-dessus?" J'ai le même problème: les applications et les documents s'ouvrent sur mon écran secondaire.
bames53
5

En ce qui concerne Mavericks, il existe une distinction entre les moniteurs actifs et non actifs. Vous pouvez voir quel moniteur est actif en regardant votre barre de menu (je suppose que vous utilisez le nouveau comportement des espaces Mavericks). Si vous les comparez sur les deux écrans, l'un sera effacé et l'autre sera principalement opaque. Celui qui est presque opaque est activé et de nouvelles fenêtres d'application s'ouvriront sur l'écran avec l'écran de la barre de menus opaque à moins qu'il n'y ait d'autres fenêtres de la même application sur l'autre écran.

Alors, comment pouvez-vous changer quel écran est actif?

Appuyez simplement n'importe où sur le bureau de l'écran sur lequel vous souhaitez ouvrir la fenêtre. Cela rendra la barre de menus de l'écran presque opaque et l'ouverture de la fenêtre devrait maintenant l'ouvrir sur l'écran.

Notez également que ce comportement est indépendant de votre position Docks. D'après mon expérience, j'ai dû cliquer sur le bureau (entre les fichiers) pour activer l'autre écran (j'entends par là le mettre dans l'état actif)

Mise à jour

Certes, cela n'empêche pas Mavericks d'ouvrir des fenêtres sur l'autre écran. De cette façon, il s'ouvrira sur le dernier écran fermé et / ou sur l'écran où se trouve la barre de menus. La méthode que j'ai décrite ci-dessus la mise à jour est juste une solution de contournement de la manière Mavericks.

Étreinte
la source
"Celui qui est presque opaque est activé et de nouvelles fenêtres d'application s'ouvriront sur l'écran avec l'écran de la barre de menus opaque à moins qu'il n'y ait d'autres fenêtres de la même application sur l'autre écran." J'ouvre des documents et ils s'ouvrent sur l'affichage secondaire bien qu'il n'y ait pas d'autres fenêtres dans cette application ouvertes sur cet écran et qu'il y ait des fenêtres ouvertes de cette application sur l'écran principal (parce que je continue de les déplacer toutes). Si je ferme une fenêtre de document sur l'écran principal et que j'ouvre à nouveau ce document, il place la fenêtre sur l'écran secondaire et je dois la déplacer à nouveau.
bames53
3

avec l'application ouverte, appuyez sur F3 pour ouvrir Mission Control, puis faites glisser l'application sur l'écran sur lequel vous souhaitez qu'elle s'ouvre à l'avenir. Il est attribué à un "espace" sur votre ordinateur - Modifiez l'espace auquel il est affecté.

user69765
la source
2

De nouvelles fenêtres s'ouvriront toujours à l'écran avec la «barre de menus», il vous suffit donc de déplacer la barre de menus «par défaut» vers l'écran où vous préférez lancer de nouvelles fenêtres.

Regardez la capture d'écran ci-dessus de la boîte de dialogue "Préférences d'affichage". Notez qu'un seul des «affichages» affiche une barre de menus. Notez également le texte «Pour déplacer la barre de menus, faites-la glisser vers un autre affichage».

NaveenJC
la source
4
Eh bien, oui, mon point était que la barre de menus était déjà sur le bon écran et que cet écran avait définitivement le focus, mais les programmes étaient ouverts sur l'autre écran.
JustSid
1

J'avais le même problème. Ce que j'ai trouvé, ce sont des applications ouvertes sur n'importe quel écran du dock.

J'avais mes écrans configurés comme les vôtres, dock sur le côté gauche. J'ai basculé le dock vers la droite et maintenant ils s'ouvrent sur le moniteur principal et non sur le secondaire.

nkh004
la source
0

Pour que OS X ouvre toujours une application sur un écran spécifique dans Mavericks ou une version plus récente, cliquez avec le bouton droit sur l'icône du dock de l'application et sélectionnez «Options» - Attribuer au bureau 1 ou 2 (le bureau 2 devrait être votre affichage secondaire). J'ai trouvé que cela ne fonctionne pas toujours une fois que vous faites glisser certaines applications sur l'autre écran (par exemple Safari dans El Capitan). Une fois là-bas, parfois il veut continuer à y ouvrir et au moins dans El Capitan, il ouvre normalement sur l'affichage principal, sauf indication contraire de s'ouvrir sur l'affichage secondaire. Vous pouvez également utiliser les OPTIONS -> Attribuer sur la station d'accueil pour déplacer un programme vers n'importe quel écran (vous pouvez gagner du temps en évitant de déplacer la souris sur un autre écran pour le faire glisser, en particulier si vous avez plus de deux moniteurs).

Je souhaite juste qu'il y ait une option pour avoir un Dock sur chaque écran à tout moment. Je préfère les quais latéraux et vous ne pouvez pas les faire migrer, ce qui est une douleur royale. J'ai envoyé des commentaires à ce sujet à Apple, mais ils l'ignorent. Il serait si facile d'avoir un dock sur chaque écran à tout moment comme la barre de menus (peut-être même une autreDock pour chaque écran pour les configurations où vous utilisez souvent certaines applications sur certains écrans) et que chaque dock sur chaque écran ouvre des applications sur cet écran "actif". Cela ne me dérangerait pas d'avoir un bouton sur la fenêtre elle-même avoir un "envoyer à afficher" non plus. C'est plus simple que de faire glisser les fenêtres, surtout si vous les avez disposées de manière à ce qu'elles ne soient pas côte à côte (par exemple, j'utilise la diagonale pour ne pas déplacer accidentellement ma souris sur l'autre écran et cela me permet de garder un Dock sur mon côté gauche de mon moniteur droit car j'aime le dock à gauche et les icônes à droite à tout moment, indépendamment des positions du moniteur).

VonMagnum
la source
1
La seule application avec laquelle j'ai des problèmes est TextEdit qui ouvre TOUJOURS des fichiers sur l'écran de mon téléviseur (affichage secondaire). Aucune des réponses de ce fil ne modifie ce comportement. Toutes les autres applications s'ouvrent sur mon écran principal (Macbook). Ce n'est pas une tragédie d'avoir à saisir manuellement les fenêtres TextEdit d'un affichage, à les faire glisser vers l'autre et à les redimensionner, mais cela tombe dans la catégorie Applesoft, n'est-ce pas. (Apple préventivement ce terme forgeant pour son BASIC ne me empêche pas de l' utiliser également pour décrire les produits Apple qui se comportent comme ceux de Microsoft.)
mathematrucker