Je dois périodiquement déplacer mon affichage (physiquement 1 ), ce qui nécessite également de réarranger ma disposition d'affichage dans les Préférences Système. Le faire manuellement tout le temps est une douleur au cou. Est-il possible de le faire par programme?
1 Je travaille sur un côté de la table lorsque je travaille en solo, mais lorsque je veux me jumeler avec quelqu'un, je bascule de l'autre côté de la table car il y a plus d'espace disponible pour une seconde personne. Si vous faites pivoter l'écran pour qu'il fasse face à l'autre côté de la table, cela signifie qu'il va de la droite à la gauche de mon ordinateur portable, puis de la gauche, car l'ordinateur portable se tient debout dans un sens ou dans l'autre.
display
applescript
command-line
iconoclaste
la source
la source
if normalOrentation ...
déclaration . Cela avait juste besoin de couvrir les informations pour le drapeau à bascule . Le code répliqué a été déplacé et défini en dessous.Réponses:
Désolé pour la réponse tardive. Vous pouvez utiliser displayplacer pour définir des profils pour vos deux arrangements. Enregistrez les profils dans un script ou utilisez quelque chose comme BetterTouchTool comme raccourci clavier pour changer la disposition de votre moniteur.
https://github.com/jakehilborn/displayplacer
la source
À l'aide de mon MacBook Pro, qui se trouve normalement à gauche de mon écran Thunderbolt et de mon écran Thunderbolt, vous expliquerez comment utiliser hsscreens et AppleScript pour basculer les deux arrangements par programme en fonction de la manière dont ils sont organisés. Le résultat final est une application AppleScript qui, une fois exécutée, bascule simplement entre les deux arrangements. Cette application peut être exécutée de la même manière que toute autre application.
Dans l'image ci-dessous, vous voyez les agencements normal et inversé des écrans et de la barre de menus indiquant les différences de relation entre mon MacBook Pro et Thunderbolt Display.
Cette application AppleScript, ainsi que le
hsscreens
fichier exécutable binaire, bascule par programme entre les deux arrangements présentés dans l'image ci-dessus, en déplaçant l'affichage du MacBook Pro vers la droite ou vers la gauche de l'affichage Thunderbolt en maintenant la barre des menus sur l'affichage du MacBook Pro.Pour coder cela, je devais déterminer quelle était la configuration actuelle et agir en conséquence. Pour ce faire, j'ai utilisé
hmscreens -info
deux fois dans un terminal, une fois dans chaque arrangement .En regardant les informations fournies, j'ai vu une information que je pouvais utiliser
grep
pour pouvoir définir un drapeau contre lequel basculer.Sortie de
hmscreens -info
dans une disposition normale des affichages:Sortie de
hmscreens -info
dans un arrangement renversé des affichages:Si cela était évident, je devais utiliser les informations de
Global Position:
pour déterminer la disposition actuelle des écrans. J'ai immédiatement vu-2560
comme unique entre la sortie et un moyen de déterminer la disposition actuelle . Si jegrep
cherchais-2560
et trouvais cela, j'étais dans un arrangement renversé , pas dans un arrangement normal . C’est donc ce que j’ai utilisé pour déterminer l’ arrangement actuel et basculer ainsi entre les deux arrangements . (Remarque: ce-2560
n'était pas la seule chose unique, c'est juste ce sur quoi je me suis concentré en premier et j'ai trouvé un moyen facile d'analyser les informations pour définir un drapeau à bascule .)Enregistrez le code AppleScript ci-dessous en tant qu'application et placez une copie du
hmscreens
fichier exécutable binaire dans le<appname>.app/Contents/Resources
dossier. Ainsi, l'application, par exemple,/Applications/Toggle Displays Arrangements.app
est autonome et ne dépend pas d'un emplacement externe duhmscreens
fichier exécutable binaire.Évidemment, vous devrez déterminer quoi faire
grep
ou utiliser une méthode différente pour définir le drapeau à bascule et modifier le code ci-dessous en conséquence afin de répondre à vos besoins particuliers (le cas échéant, sinon ce cas d'utilisation ou différent).Code AppleScript :
L'image ci-dessous montre la coloration syntaxique du code AppleScript .
la source
hmsscreens
instantanément, avant de pouvoir faire quoi que ce soit:[1] 9612 killed hmscreens -info
. Des idées comment résoudre cette situation?/Applications/hmscreens -info
votre ligne de commandeJ'ai utilisé les exemples ci-dessus pour créer un script Apple simple "Permuter écrans".
Cela a fonctionné comme un champion ... Je peux cliquer sur une seule icône et mes écrans s'alignent exactement comme je le souhaite.
Prendre plaisir! E-
la source
Ce n'est pas AppleScript, mais voici une bibliothèque python qui s'interface avec les liaisons PyObjC et fournit un contrôle approfondi des paramètres d'affichage Mac appelé "Gestionnaire d'affichage". Nous avons mis à jour le gestionnaire d'affichage, une bibliothèque python à code source ouvert, qui permet de modifier manuellement ou automatiquement un ensemble de paramètres d'affichage d'un Mac. Il gère par programme les affichages Mac, y compris la résolution d'affichage, la fréquence de rafraîchissement, la rotation, la luminosité, la duplication d'écran et le sous-balayage HDMI. Son objectif principal est de permettre aux administrateurs système et aux développeurs de configurer automatiquement tout nombre d'écrans Mac, à l'aide des scripts de ligne de commande et de la bibliothèque Display Manager Python. Il peut facilement être intégré à Jamf Pro, Outset ou Munki ou à d’autres systèmes de gestion client.
Nous utilisons Display Manager dans notre environnement pour de nombreux cas d'utilisation, comme sur nos systèmes d'affichage numérique, afin de faire pivoter l'écran de 90 degrés et de définir avec précision le sous-balayage HDMI, le réglage de la mise en miroir vidéo et permettre à l'instructeur d'activer ou de désactiver rapidement la mise en miroir, de définir la résolution par défaut. luminosité sur les systèmes partagés tels que les laboratoires d'étudiants ou les systèmes du personnel / faculté et réinitialiser les valeurs par défaut après, par exemple, connexion / déconnexion de l'utilisateur ou à la demande, etc.
Si vous souhaitez consulter le code ou l'essayer, consultez le référentiel GitHub suivant ...
https://github.com/univ-of-utah-marriott-library-apple/display_manager
S'il vous plaît laissez-nous savoir si vous avez une question, des problèmes ou des demandes de fonctionnalités.
la source