Frage:
Zentrales Fenster auf dem Bildschirm
Kevin Sylvestre
2011-03-05 13:06:55 UTC
view on stackexchange narkive permalink

Ich erstelle einige Screenshots und wollte meine Fenster genau in meinem Bildschirm zentrieren. Gibt es eine gute Möglichkeit, dies auf dem Mac zu tun? Ich habe ein Apple Script -Beispiel (und einige verknüpfte Bildschirme) gefunden, aber keiner von ihnen unterstützt die vertikale Zentrierung von 'Terminal' (obwohl sie die vertikale Zentrierung anderer Anwendungen unterstützen).

Mögliches Duplikat von [Welche Fensterverwaltungsoptionen gibt es für OS X?] (http://apple.stackexchange.com/questions/9659/what-window-management-options-exist-for-os-x)
Sechs antworten:
sorens
2011-03-05 22:36:10 UTC
view on stackexchange narkive permalink

Ich verwende gerne SizeUp, um Fenster zu verwalten, von denen eines eine Option für die Bildschirmmitte ist. Viel Glück.

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

Ich bin mir nicht sicher, ob dies auch das tut, wonach Sie suchen, aber Divvy ist auch eine nette Software zum Anordnen von Fenstern.

Ich schlage vor, Sie sehen sich den Screencast auf der Website an, um zu sehen, ob er das tut, wonach Sie suchen. Grundsätzlich verfügt er jedoch über ein Raster, in dem Sie die Größe und Position des vordersten Fensters ändern können.

Sie können auch das angezeigte Raster ändern, um die Größe der Fenster, mit denen Sie arbeiten, genauer steuern zu können.

Ich hoffe, dies hilft.

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

Kevin. Ich bin der Autor des Beitrags, auf den Sie auf incrementalism.net verlinkt haben.

Der Grund, warum das Terminalfenster nach oben verschoben wird, ist nur ein Fehler in der AppleScript-Unterstützung von Terminal.

Dies Die Version führt die vertikale Zentrierung durch und umgeht den Terminal-Fehler:

  teilt der Anwendung mit, dass "Finder" screenSize auf die Fenstergrenzen des Desktop-Sets eingestellt hat. screenWidth auf Punkt 3 von screenSize set screenHeight auf Punkt 4 von screenSizeend telltell Anwendung "Systemereignisse" setzt myFrontMost auf den Namen des ersten Elements von ¬ (Prozesse, deren vorderste wahr ist) end telltry tell application myFrontMost setzt windowSize auf Grenzen von Fenster 1 setze windowXl auf Item 1 von windowSize setze windowYt auf Item 2 von windowSize setze windowXr auf Punkt 3 von windowSize setze windowYb auf Punkt 4 von windowSize setze windowWidth auf windowXr - windowXl setze windowHeight auf windowYb - windowYt Wenn myFrontMost "Terminal" ist, setze die Grenzen von Fenster 1 auf {¬ runde ((screenWidth - windowWidth) / 2) Rundung wie in der Schule gelehrt, ¬ Runde ((screenHeight + windowHeight) / 2) Rundung wie in der Schule gelehrt, ¬ runde ((screenWidth + windowWidth) / 2) Rundung wie in der Schule gelehrt, ¬ runde ((screenHeight + windowHeight) / 2 + windowHeight) Rundung wie in der Schule gelehrt} sonst setze die Grenzen von Fenster 1 auf {¬ runde ((screenWidth - windowWidth) / 2) runde wie in der Schule gelehrte, ¬ runde ((screenHeight -) windowHeight) / 2) Rundung wie in der Schule gelehrt, ¬ Rundung ((screenWidth + windowWidth) / 2) Rundung wie in der Schule gelehrt, ¬ Runde ((screenHeight + windowHeight) / 2) Rundung wie in der Schule gelehrt} endet, wenn das Ergebnis festgelegt ist zu den Grenzen von Fenster 1 Ende Tellend versuchen  

Ich hoffe, das hilft, wenn Sie noch nicht für eine der anderen Optionen bezahlt haben. Ich habe mit dieser Problemumgehung auch einen Kommentar zum ursprünglichen Beitrag hinzugefügt.

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

Korrekturen für:

  • Der Fehler mit Terminal
  • Seltsame Prozessnamen (Firefox-Bin)
  • Größen der Menüleiste und des Docks
  • Applescript-Unterstützung in der Vorschau deaktiviert
  • Fenster mit fast voller Breite / Höhe werden auf volle Breite / Höhe angepasst.

Anmerkungen:

    • Rundung wie in der Schule gelehrt wird nicht wirklich benötigt
      • Die Standardeinstellung ist Rundung auf den nächsten , wodurch 0,5 auf den nächsten gerundet wird gerade Ganzzahl (z. B. 22,5 bis 22)
  • Wirklich, MixedCase-Variablennamen auch hier

Immer noch Es gibt noch ein Dutzend Dinge, die schief gehen könnten. Der Dock-Teil wird nicht wirklich benötigt, wenn Sie das Verstecken immer aktiviert haben. (Wenn zum Beispiel Ausrichtung = unten, möchten Sie möglicherweise dth auf dth - 4 setzen.)

  - Standardwerte schreiben /Applications/Preview.app/Contents/Info NSAppleScriptEnabled -bool yestell app "Finder" zum Festlegen von {0, 0, dtw, dth} auf die Grenzen des Fensters des Desktopsets dtw0 bis dtwset dth0 bis dthtell App "Systemereignisse", um den Dock-Einstellungen mitzuteilen, dass das Ausblenden so eingestellt ist, dass die Kante automatisch an die Bildschirmkante ausgeblendet wird, während die Zeichenfolge ausgeblendet und dann festgelegt wird docksize auf 4else Tell App "System Events", um den Prozess "Dock" mitzuteilen. Setzen Sie sz in Liste 1 auf Größe, wenn edge = "bottom", und setzen Sie docksize auf Element 2 von sz. Andernfalls setzen Sie docksize auf Element 1 von sz end, wenn end tellend ifif edge = "bottom" dann setze dth auf dth - docksizeelse wenn edge = "right" dann setze dtw auf dtw - docksizeelse wenn edge = "left" dann setze dtw auf dtw + docksizeend ifset a to (Pfad zur vordersten Anwendung als Text) versuche zu sagen app a setze b an die Grenzen von Fenster 1 setze w auf (Punkt 3 von b) - (Punkt 1 von b) setze h auf (Punkt 4 von b) - (Punkt 2 von b) wenn w> dtw0 - 40 dann setze w auf dtw wenn h> dth0 - 40 dann setze h auf dth setze Punkt 1 von b auf {dtw - w} / 2 setze Punkt 1 von b auf (dtw - w) / 2 setze Punkt 2 von b auf (dth - h + 22) / 2 setze Punkt 3 von b auf (dtw + w) / 2
Setzen Sie Punkt 4 von b auf (dth + h + 22) / 2 und sagen Sie, ob App "Terminal" ganz vorne ist. Sagen Sie dann App "Terminal", dass die Position von Fenster 1 auf b gesetzt werden soll. Andernfalls teilen Sie App a mit, dass die Grenzen von Fenster 1 auf b gesetzt werden sollen end ifend try  
Asmus
2011-03-05 14:11:32 UTC
view on stackexchange narkive permalink

Wenn Sie sie genau zentrieren möchten (also horizontal und vertikal), können Sie das Beispiel in den Kommentaren auf der Site verwenden, auf die Sie verlinkt haben, und die Antwort anpassen, die an diese Stackoverflow-Frage gesendet wurde.

Am Ende hatte ich Folgendes:

  der Anwendung "Systemereignisse" mitteilen, dass die Anwendung "Finder" {posx, posy, screenWidth, screenHeight} auf Fenstergrenzen von setzen soll Die Desktopend-Telltell-Anwendung "Terminal" setzt {windowLeft, windowTop, windowRight, windowBottom} auf die Grenzen von Fenster 1set windowWidth auf windowRight - windowLeftset windowHeight auf windowBottom - windowTopset newBounds auf {¬ ((screenWidth - windowWidth) / 2), ¬ ((screenHeight) - windowHeight) / 2), ¬ ((screenWidth + windowWidth) / 2), ¬ ((screenHeight + windowHeight) / 2) ¬} setze newPosition auf {¬ ((screenWidth - windowWidth) / 2), ¬ ((screenHeight -) windowHeight) / 2) ¬} Weisen Sie die Anwendung "Terminal" an, die Grenzen von Fenster 1 auf newBoundstell-Anwendung "Terminal" zu setzen t Position von Fenster 1 zu newPosition  

Beachten Sie, dass dadurch Fenster 1 zentriert wird. Wenn Sie also Tools wie Visor a verwenden > müssen Sie stattdessen Fenster 2 verwenden.

Ich habe dieses Skript ausprobiert, aber aus irgendeinem Grund wird mein Terminal am oberen Bildschirmrand gesperrt. Vielleicht liegt es daran, dass ich das transparente Terminal benutze oder so.
thyx
2011-03-05 16:22:40 UTC
view on stackexchange narkive permalink

Eine Alternative ist MercuryMover. 'Fenster zentrieren' ist eine der integrierten Verknüpfungen.

Sie können Fenster mit Verknüpfungen verschieben, benutzerdefinierte Positionen definieren und weitere Aufgaben ausführen. Tipp: Versuchen Sie, in der Voreinstellungsdatei andere benutzerdefinierte Pixelzahlen als 1, 10, 100 zu definieren.

Mit 20 US-Dollar ist dies teuer, zahlt sich jedoch im Laufe der Zeit aus. Wie auch immer, es gibt eine Old-School-Testversion… MacUpdate: MercuryMover



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 2.0-Lizenz, unter der er vertrieben wird.
Loading...