Question:
Centrer la fenêtre sur l'écran
Kevin Sylvestre
2011-03-05 13:06:55 UTC
view on stackexchange narkive permalink

Je crée quelques moulages d'écran et je voulais centrer exactement mes fenêtres sur mon écran. Un bon moyen de le faire sur Mac? J'ai trouvé un exemple de script Apple (et quelques écrans liés) mais aucun d'entre eux ne prend en charge le centrage vertical du 'Terminal' (bien qu'ils prennent en charge le centrage d'autres applications verticalement).

duplication possible de [Quelles options de gestion de fenêtres existent pour OS X?] (http://apple.stackexchange.com/questions/9659/what-window-management-options-exist-for-os-x)
Six réponses:
sorens
2011-03-05 22:36:10 UTC
view on stackexchange narkive permalink

J'aime utiliser SizeUp pour gérer les fenêtres, dont l'une est une option au centre de l'écran. Bonne chance.

Ciaocibai
2011-03-05 18:43:27 UTC
view on stackexchange narkive permalink

Je ne sais pas si cela peut également faire ce que vous recherchez, mais Divvy est également un logiciel intéressant pour organiser les fenêtres.

Je vous suggère de regarder le screencast sur leur site Web pour voir s'il fait ce que vous recherchez, mais en gros, il a une grille où vous pouvez changer la taille et la position de la fenêtre la plus au premier plan.

Vous pouvez également modifier la grille qu'elle affiche pour avoir un contrôle plus précis sur la taille des fenêtres avec lesquelles vous travaillez.

J'espère que cela vous aidera.

Tim Moore
2011-03-07 16:37:46 UTC
view on stackexchange narkive permalink

Kevin. Je suis l'auteur du post auquel vous avez lié sur incrementalism.net.

La raison pour laquelle la fenêtre du Terminal se déplace vers le haut est juste un bogue dans la prise en charge AppleScript de Terminal.

Ceci La version effectue le centrage vertical et contourne le bogue du terminal:

  indique à l'application "Finder" définir screenSize aux limites de la fenêtre du bureau set screenWidth à l'élément 3 de screenSize set screenHeight to item 4 of screenSizeend telltell application "Evénements système" définissez myFrontMost sur le nom du premier élément de ¬ (processus dont le premier élément est vrai) end telltry tell application myFrontMost défini windowSize aux limites de la fenêtre 1 définissez windowXl sur l'élément 1 de windowSize set windowYt sur l'élément 2 de windowSize set windowXr to élément 3 de windowSize définir windowYb à l'élément 4 de windowSize définir windowWidth à windowXr - windowXl définir windowHeight à windowYb - windowYt si myFrontMost est "Terminal" puis définir les limites de la fenêtre 1 à {¬ round ((screenWidth - windowWidth) / 2) arrondi comme enseigné à l'école, ¬ round ((screenHeight + windowHeight) / 2) arrondi comme enseigné à l'école, ¬ round ((screenWidth + windowWidth) / 2) arrondi comme enseigné à l'école, ¬ round ((screenHeight + windowHeight) / 2 + windowHeight) arrondi comme enseigné à l'école} else fixer les limites de la fenêtre 1 à {¬ round ((screenWidth - windowWidth) / 2) arrondi comme enseigné à l'école, ¬ round ((screenHeight - windowHeight) / 2) arrondi comme enseigné à l'école, ¬ rond ((screenWidth + windowWidth) / 2) arrondi comme enseigné à l'école, ¬ rond ((screenHeight + windowHeight) / 2) arrondi comme enseigné à l'école} fin si défini le résultat aux limites de la fenêtre 1, fin de la tentative d'essai  

J'espère que cela vous aidera, si vous n'avez pas déjà payé pour l'une des autres options. J'ai également ajouté un commentaire avec cette solution de contournement au message d'origine.

Lri
2011-03-07 17:26:54 UTC
view on stackexchange narkive permalink

Corrections pour:

  • Le bogue avec Terminal
  • Noms de processus étranges (firefox-bin)
  • Tailles de la barre de menu et du Dock
  • Prise en charge d'Applescript désactivée dans l'aperçu
  • Les fenêtres presque pleine largeur / hauteur seront redimensionnées à pleine largeur / hauteur

Remarques:

  • l'arrondi tel qu'il est enseigné à l'école n'est pas vraiment nécessaire
    • la valeur par défaut est arrondi au plus proche , qui arrondit 0,5 au plus proche même entier (par exemple 22,5 à 22)
  • Vraiment, les noms de variables mixedCase même ici ?

Toujours , il y a une douzaine d'autres choses qui pourraient mal tourner. La partie Dock n'est pas vraiment nécessaire si le masquage est toujours activé. (Mais si, par exemple, orientation = bottom, vous pouvez définir dth sur dth - 4.)

  - les valeurs par défaut écrivent /Applications/Preview.app/Contents/Info NSAppleScriptEnabled -bool yestell app "Finder" pour définir {0, 0, dtw, dth} sur les limites de la fenêtre du desktopset dtw0 à dtwset dth0 à l'application dthtell "System Events" pour indiquer les préférences du dock définir le masquage pour masquer automatiquement définir bord à bord de l'écran comme stringend tellif masquer puis définir docksize à 4 sinon dites à l'application "System Events" de dire au processus "Dock" de définir sz à la taille dans la liste 1 si edge = "bottom" puis de définir docksize sur l'élément 2 de sz sinon de définir docksize sur l'élément 1 de sz end if end tellend ifif edge = "bottom" puis définissez dth sur dth - docksizeelse si edge = "right" puis définissez dtw sur dtw - docksizeelse if edge = "left" puis définissez dtw sur dtw + docksizeend ifset a sur (chemin vers l'application au premier plan sous forme de texte) essayez de dire app a set b aux limites de la fenêtre 1 set w to (item 3 of b) - (item 1 of b) régler h sur (élément 4 de b) - (élément 2 de b) si w> dtw0 - 40 puis régler w sur dtw si h> dth0 - 40 puis régler h sur dth définir l'élément 1 de b sur {dtw - w} / 2 régler l'élément 1 de b à (dtw - w) / 2 régler l'élément 2 de b à (dth - h + 22) / 2 régler l'élément 3 de b à (dtw + w) / 2
définir l'élément 4 de b sur (dth + h + 22) / 2 end dire si l'application "Terminal" est au premier plan puis dire à l'application "Terminal" de définir la position de la fenêtre 1 à b sinon dire à l'application a de définir les limites de la fenêtre 1 à b end ifend try  
Asmus
2011-03-05 14:11:32 UTC
view on stackexchange narkive permalink

Si vous souhaitez les centrer exactement (horizontalement et verticalement), vous pouvez utiliser l'exemple donné dans les commentaires sur le site auquel vous avez lié et adapter la réponse publiée à cette question stackoverflow.

J'ai fini avec ceci:

  dites à l'application "Evénements système" de dire à l'application "Finder" de définir {posx, posy, screenWidth, screenHeight} aux limites de la fenêtre de desktopend telltell application "Terminal" pour définir {windowLeft, windowTop, windowRight, windowBottom} aux limites de la fenêtre 1set windowWidth to windowRight - windowLeftset windowHeight to windowBottom - windowTopset newBounds to {¬ ((screenWidth - windowWidth) / 2), ¬ ((screenHeight) - windowHeight) / 2), ¬ ((screenWidth + windowWidth) / 2), ¬ ((screenHeight + windowHeight) / 2) ¬} régler newPosition sur {¬ ((screenWidth - windowWidth) / 2), ¬ ((screenHeight - windowHeight) / 2) ¬} dites à l'application "Terminal" de définir les limites de la fenêtre 1 sur newBoundstell application "Terminal" t position de la fenêtre 1 sur newPosition  

Gardez à l'esprit que cela va centrer la fenêtre 1 , donc si vous utilisez des outils comme Visor, vous devrez utiliser la window 2 à la place.

J'ai essayé ce script mais pour une raison quelconque, il verrouille mon terminal en haut de l'écran. C'est peut-être parce que j'utilise le terminal transparent ou quelque chose comme ça.
thyx
2011-03-05 16:22:40 UTC
view on stackexchange narkive permalink

Une alternative est MercuryMover. «Fenêtre centrale» est l'un des raccourcis intégrés.

Vous pouvez déplacer les fenêtres avec des raccourcis, définir des positions personnalisées - et faire encore plus. Astuce: essayez le fichier de préférences pour définir des nombres de pixels personnalisés autres que 1, 10, 100.

C'est cher avec 20 $, mais paye avec le temps. Quoi qu'il en soit, il y a un essai à l'ancienne… MacUpdate: MercuryMover



Ce Q&R a été automatiquement traduit de la langue anglaise.Le contenu original est disponible sur stackexchange, que nous remercions pour la licence cc by-sa 2.0 sous laquelle il est distribué.
Loading...