Pytanie:
Wyśrodkuj okno na ekranie
Kevin Sylvestre
2011-03-05 13:06:55 UTC
view on stackexchange narkive permalink

Tworzę kilka rzutów ekranu i chciałem dokładnie wyśrodkować okna na ekranie. Jakiś dobry sposób na zrobienie tego na komputerze Mac? Znalazłem przykład Apple Script (i kilka połączonych ekranów), ale żaden z nich nie obsługuje centrowania „Terminala” w pionie (chociaż obsługują centrowanie innych aplikacji w pionie).

możliwy duplikat [Jakie opcje zarządzania oknami istnieją dla OS X?] (http://apple.stackexchange.com/questions/9659/what-window-management-options-exist-for-os-x)
Sześć odpowiedzi:
sorens
2011-03-05 22:36:10 UTC
view on stackexchange narkive permalink

Lubię używać SizeUp do zarządzania oknami, z których jeden jest opcją na środku ekranu. Powodzenia.

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

Nie jestem pewien, czy może to również zrobić to, czego szukasz, ale Divvy to także zgrabny program do aranżacji okien.

Sugeruję obejrzenie screencast na ich stronie internetowej, aby sprawdzić, czy robi to, czego szukasz, ale w zasadzie ma siatkę, w której możesz zmienić rozmiar i położenie okna na wierzchu.

Możesz także zmienić wyświetlaną siatkę, aby mieć lepszą kontrolę nad rozmiarem okien, z którymi pracujesz.

Mam nadzieję, że to pomoże.

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

Kevin. Jestem autorem posta, do którego linkowałeś w serwisie Incrementalism.net.

Powodem, dla którego okno Terminala przesuwa się na górę, jest błąd w obsłudze AppleScript Terminala.

To version wykonuje centrowanie w pionie i działa wokół błędu Terminala:

  powiedz aplikacji "Finder" ustaw screenSize do granic okna pulpitu ustaw screen Szerokość do pozycji 3 w screenSize ustawia ekran Wysokość do pozycji 4 w screenSizeend telltell aplikacja "Zdarzenia systemowe" ustaw myFrontMost na nazwę pierwszego elementu ¬ (procesy, których pierwszy element jest prawdziwy) koniec telltry powiedz aplikacji myFrontMost ustaw windowSize na granice okna 1 ustaw windowXl na 1 pozycję windowSize ustaw windowYt na pozycję 2 z windowSize ustaw windowXr na pozycja 3 okna Ustaw rozmiar oknaYb do pozycji 4 okna Ustaw rozmiar oknaWidth to windowXr - windowXl ustaw windowHeight to windowYb - windowYt jeśli myFrontMost to „Terminal”, ustaw granice okna 1 na {¬ zaokrąglenie ((screenWidth - windowWidth) / 2) zaokrąglenie zgodnie z nauczaniem w szkole, ¬ round ((screenHeight + windowHeight) / 2) zaokrąglenie zgodnie z nauczaniem w szkole, ¬ round ((screenWidth + windowWidth) / 2) zaokrąglenie zgodnie z nauczaniem w szkole, ¬ okrągłe ((screenHeight + windowHeight) / 2 + windowHeight) zaokrąglanie zgodnie z nauczaniem w szkole} else ustaw granice okna 1 na {¬ round ((screenWidth - windowWidth) / 2) zaokrąglanie zgodnie z nauczaniem w szkole, ¬ okrągłe ((screenHeight - windowHeight) / 2) zaokrąglanie zgodnie z nauczaniem w szkole, ¬ round ((screenWidth + windowWidth) / 2) zaokrąglanie zgodnie z nauczaniem w szkole, ¬ round ((screenHeight + windowHeight) / 2) zaokrąglanie zgodnie z nauczaniem w szkole} kończy się, jeśli ustawiono wynik do granic okna 1 koniec tellend try  

Mam nadzieję, że to pomoże, jeśli nie zapłaciłeś jeszcze za jedną z pozostałych opcji. Dodałem też komentarz z tym obejściem do oryginalnego posta.

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

Poprawki:

  • Błąd w Terminalu
  • Dziwne nazwy procesów (firefox-bin)
  • Rozmiary paska menu i Docka
  • Obsługa Applescript wyłączona w podglądzie
  • Okna, które mają prawie pełną szerokość / wysokość, zostaną przeskalowane do pełnej szerokości / wysokości

Uwagi:

  • zaokrąglanie zgodnie z nauczaniem w szkole nie jest naprawdę potrzebne
    • domyślnie zaokrąglanie do najbliższego , które zaokrągla 0,5 do najbliższej parzysta liczba całkowita (np. 22,5 do 22)
  • Naprawdę, nazwy zmiennych mixedCase nawet tutaj ?

Nadal , jest jeszcze tuzin rzeczy, które mogą się nie udać. Część Docka nie jest naprawdę potrzebna, jeśli ukrywanie jest zawsze włączone. (Ale jeśli na przykład orientacja = dół, możesz chcieć ustawić dth na dth - 4.)

  - domyślnie napisz /Applications/Preview.app/Contents/Info NSAppleScriptEnabled -bool yestell app „Finder”, aby ustawić {0, 0, dtw, dth} na granice okna zestawu pulpitu dtw0 do dtwset dth0 do aplikacji dthtell „Zdarzenia systemowe”, aby powiedzieć preferencjom stacji dokującej ustaw ukrywanie na automatyczne ukrywanie ustaw krawędź do krawędzi ekranu jako ciąg znaków końca tellif ukrywanie następnie ustawienie docksize do 4else powiedz aplikacji "Zdarzenia systemowe", aby poinformować proces "Dock" ustaw rozmiar sz na liście 1, jeśli edge = "bottom", a następnie ustaw docksize na pozycję 2 z sz else ustaw docksize na pozycję 1 z sz end if end tellend ifif edge = "bottom" następnie ustaw dth na dth - docksizeelse if edge = "right" potem ustaw dtw na dtw - docksizeelse if edge = "left" potem ustaw dth na dtw + docksizeend ifset a to (ścieżka do pierwszej aplikacji jako tekst) spróbuj powiedzieć app a zestaw b do granic okna 1 ustaw w na (element 3 b) - (element 1 b) ustaw h na (pozycja 4 z b) - (pozycja 2 z b) jeśli w> dtw0 - 40 następnie ustaw w na dtw, jeśli h> dth0 - 40 następnie ustaw h na dth ustaw pozycję 1 z b na {dtw - w} / 2 zestaw element 1 z b to (dtw - w) / 2 zestaw element 2 z b to (dth - h + 22) / 2 zestaw element 3 z b to (dtw + w) / 2
ustaw pozycję 4 z b na (dth + h + 22) / 2 koniec powiedz, czy aplikacja "Terminal" jest na pierwszym planie, a następnie powiedz aplikacji "Terminal", aby ustawić pozycję okna 1 na b, w przeciwnym razie powiedz aplikacji a, aby ustawić granice okna 1 do b koniec ifend spróbuj  
Asmus
2011-03-05 14:11:32 UTC
view on stackexchange narkive permalink

Jeśli chcesz dokładnie je wyśrodkować (tak w poziomie iw pionie), możesz skorzystać z przykładu podanego w komentarzach na stronie, do której utworzyłeś łącze, i dostosować opublikowaną odpowiedź do tego pytania o przepełnienie stosu.

Skończyło się na tym:

  powiedz aplikacji „Zdarzenia systemowe”, aby powiadomiła aplikację „Finder” o ustawieniu {posx, posy, screenWidth, screenHeight} na granice okna desktopend telltell application "Terminal", aby ustawić {windowLeft, windowTop, windowRight, windowBottom} na granice okna 1set windowWidth to windowRight - windowLeftset windowHeight to windowBottom - windowTopset newBounds do {¬ ((screenWidth - windowWidth) / 2), ¬ ((screenHeight) / 2), ¬ ((screenHeight) - windowHeight) / 2), ¬ ((screenWidth + windowWidth) / 2), ¬ ((screenHeight + windowHeight) / 2) ¬} ustaw newPosition na {¬ ((screenWidth - windowWidth) / 2), ¬ ((screenHeight - windowHeight) / 2) ¬} powiedz aplikacji „Terminal”, aby ustawić granice okna 1 na newBoundstell Aplikacja „Terminal” na se t położenie okna 1 w newPosition  

Pamiętaj, że to wyśrodkuje okno 1 , więc jeśli zdarzy ci się użyć narzędzi takich jak Visor, będziesz musiał zamiast tego użyć window 2 .

Wypróbowałem ten skrypt, ale z jakiegoś powodu blokuje on mój terminal na górze ekranu. Może to dlatego, że używam przezroczystego terminala czy coś.
thyx
2011-03-05 16:22:40 UTC
view on stackexchange narkive permalink

Alternatywą jest MercuryMover. „Środkowe okno” to jeden z wbudowanych skrótów.

Możesz przesuwać okna za pomocą skrótów, definiować niestandardowe pozycje - i robić jeszcze więcej. Wskazówka: wypróbuj plik preferencji, aby zdefiniować niestandardowe liczby pikseli inne niż 1, 10, 100.

Koszt to 20 USD, ale opłaca się z czasem. W każdym razie istnieje stara szkoła próbna… MacUpdate: MercuryMover



To pytanie i odpowiedź zostało automatycznie przetłumaczone z języka angielskiego.Oryginalna treść jest dostępna na stackexchange, za co dziękujemy za licencję cc by-sa 2.0, w ramach której jest rozpowszechniana.
Loading...