28 votes

Comment puis-je forcer le lancement d'une application sur le 2ème moniteur ?

MacOS X 10.10.1 Yosemite.

Comment puis-je forcer une application nouvellement lancée à s'ouvrir sur un moniteur spécifique ?

Questions de suivi : À défaut, comment puis-je forcer une nouvelle fenêtre ouverte par une application en cours à s'ouvrir dans un moniteur spécifique ?

Et comment puis-je déplacer une fenêtre sans bordure ?


Ma situation spécifique :

J'ai une installation à deux moniteurs. Mes jeux s'ouvrent en mode "Plein écran" et rendent le deuxième moniteur inutile. Le jeu en mode fenêtré n'a pas le bouton vert plein écran disponible en haut à gauche. Cependant, il me permet de définir une résolution personnalisée et de la définir en mode sans bordure.

J'ai donc réglé la résolution du jeu sur 1920x1060 (la résolution de mon écran moins 20 pixels de hauteur pour tenir compte de la barre de menu en haut). Si je lance ce jeu avec des bordures, je peux déplacer la fenêtre où je veux, mais je dois aussi regarder la bordure qui entoure mon écran tout le temps, ce que je ne préfère pas faire. De plus, pour une raison quelconque, le jeu gère beaucoup mieux le défilement des bords en mode sans bordure (ou plein écran) qu'en mode fenêtré.

Je n'arrive pas à trouver le moyen d'afficher le jeu sur mon deuxième écran. Sur mon premier moniteur, le dock se trouve sur le côté gauche, et c'est là que je veux qu'il soit. Mais le jeu se lance sur ce premier moniteur, et le dock se trouve au-dessus de lui. Je ne veux pas masquer automatiquement le dock. Je ne veux pas que le dock soit dans une autre position.

Je cherche à avoir plus de contrôle sur ce système de fenêtrage.

22voto

jherran Points 12554

Lorsque l'application est sur le dock, faites un clic gauche dessus et un menu apparaîtra. Sélectionnez Options Assign To Desktop on Display 2.

enter image description here

Sinon, j'ai utilisé Moom qui me permet de déplacer une fenêtre d'un moniteur à l'autre à l'aide d'un raccourci défini. Dans mon cas + . Mais il s'agit d'un logiciel payant.

enter image description here

11voto

Eric Leschinski Points 289

Faites démarrer n'importe quelle application sur l'autre moniteur :

J'utilise MacOS Mojave 10.14. Considérez d'abord les solutions les plus simples :

  1. Décidez d'abord quel est votre écran par défaut en choisissant le moniteur par défaut. Vous pourrez peut-être résoudre votre problème en changeant de moniteur par défaut. Allez à System Preferences -> Displays -> Arrangement . L'écran avec la barre blanche horizontale est l'écran par défaut. Basculez-la.

  2. Deuxièmement, vérifiez si votre application possède un gestionnaire de fenêtres interne, comme iterm2 et le navigateur Chrome. Regardez dans les paramètres système de l'application ou dans les profils. Ceci est spécifique à l'application et peut ne rien avoir.

  3. Il existe de nombreux systèmes de gestion de fenêtres Apple tiers, certains gratuits et d'autres payants. Installez-les et ils tenteront d'imposer des contrôles sur la façon dont ces programmes démarrent et s'arrêtent et d'imposer l'emplacement du bureau, la taille des fenêtres et leur positionnement. Soyez prudent car ces programmes peuvent se battre entre eux.

Si aucune des solutions prêtes à l'emploi ci-dessus ne vous convient :

Vous voulez un contrôle total sur le démarrage du programme, la taille de la fenêtre, le positionnement de la fenêtre, le repositionnement de la fenêtre et la fin du programme à partir de scripts d'arrière-plan.

Sortez les outils de puissance sur le système de gestion Windows Quartz Compositor d'Apple par l'intermédiaire du système de gestion Apple. osascript outil :

Créez un nouveau fichier demo.scpt avec ceci :

#this logs text to stdout
log("foobar")
#define a variable
set moo to 9
log(moo)
#get the window dimensions of the Iterm2 window:
tell application "Iterm2" to set window_geometry to (get the bounds of the front window)
log(window_geometry)
tell app "Finder" to display dialog "hello world"

Exécutez-le comme ceci depuis le terminal :

osascript demo.scpt

Le résultat de ce petit script rapporte la géométrie de l'écran de la fenêtre d'Iterm2, et un écran s'affiche en disant hello world. Lisez le guide osascripting sur la façon de passer des paramètres pour choisir le moniteur, la taille, le positionnement, tout ce que l'OS peut voir. Si osascript a l'accès sudo, alors il accorde un accès complet en lecture et en modification au système de gestion Windows de Quartz Compositor.

En utilisant osascript pour garder un pied dans le shell unix, et l'autre pied dans le système de gestion de fenêtres d'apple, il semble que le turing soit complet puisque tout est visible et modifiable via le scripting, il suffit de lire la géométrie de la fenêtre et d'appliquer la géométrie de la fenêtre au démarrage de l'application.

Appliquer le positionnement de la fenêtre sur l'ouvert

tell application "System Events"
    set position of first window of application process "Preview" to {10, 10}
    set size of first window of application process "Preview" to {500, 1000}
end tell

Exécutez-le osascript demo.scpt et la fenêtre d'aperçu est repositionnée.

4voto

ikeeki320 Points 41

Je ne sais pas si votre problème a été résolu, mais ceci a fait l'affaire pour moi. http://www.macworld.com/article/2990037/operating-systems/solve-mission-control-failing-to-allow-displays-as-spaces.html

1voto

Danny Vanderbyl Points 31

Spectacle fonctionne aussi, et c'est gratuit ! Le seul inconvénient par rapport à Moom est qu'il n'a pas les bords chauds du style Windows. https://www.spectacleapp.com/

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X