Przenieś okno poza ekranem z powrotem na ekran w systemie Mac OS X

301

Wygląda na to, że Mac OS X 10.6.1 Snow Leopard ma tendencję do pozostawiania niektórych okien poza ekranem, zwłaszcza gdy odłączam monitor zewnętrzny od mojego MacBooka. Jak mogę przenieść okno z powrotem na ekran, gdy nie można złapać paska tytułu i przeciągnąć go z powrotem na ekran?

XvsXP.com zaleca obniżenie rozdzielczości ekranu, aby okna „poza ekranem” ponownie „wróciły do ​​widoku”, a następnie dostosowanie rozdzielczości ekranu do pierwotnego ustawienia. W OS X 10.4 Tiger miałem skrypt, który przywrócił wszystkie okna poza ekranem, ale w moich aktualizacjach do Leoparda, a teraz Snow Leoparda, nie mam tego skryptu.

Jakieś lepsze rozwiązania?

Matthew Rankin
źródło
Może chcesz sprawdzić bardzo podobne pytanie: Zresetuj pozycję systemu Mac OS X Windows po
odłączeniu
Przekonałem się, że czasami usunięcie złych elementów referencyjnych z listy konstruktorów interfejsu konstruktora. Próbowałem nawet ustawić pozycję okna za pomocą AppleScript bez powodzenia.
Byłem w stanie odzyskać okno x11, przenosząc ekran spawnujący na drugą stronę sąsiedniego ekranu. Innymi słowy, miałem następujący układ z moimi monitorami [2] [1], a okno x11 pojawiało się poza ekranem po widocznej lewej stronie [1]. Poprzez zmianę układu: [1] [2], moje okno x11 poprawnie pojawiło się w oknie [1]. Korzystam z systemu OS X 10.10.
HAL 9001,

Odpowiedzi:

307

Ta metoda wydaje się działać: kliknij menu Okno, a następnie kliknij Zoom

Hai Vu
źródło
8
Po raz pierwszy od miesięcy napotkałem ten problem z Parallels. Niestety nie mają opcji menu powiększania w menu Okno.
Matthew Rankin
Następna odpowiedź powinna działać dla wszystkich aplikacji.
James Robinson
6
Zoom nie działał dla mnie. Teraz okno jest po prostu większe, ale wciąż nie jest tam, gdzie mogę do niego dotrzeć.
bugloaf
19
Świetne rozwiązanie, oprócz tego, że Photoshop ma własną niestandardową implementację menu Okno i nie ma opcji powiększania. Cholerny Adobe.
Rory McCrossan
Pracował dla iTunes. Nigdy wcześniej nie widziałem tej opcji; Zawsze zakładałem, że nazywa się to „maksymalizuj”. Zgrzytliwy!
Matt Fletcher,
121

Nie przeczytałem całego wątku, ale najłatwiej znalazłem zmianę rozdzielczości ekranu :

Przejdź do Preferencji systemowych »Wyświetlacze, a następnie zmień rozdzielczość.

Zmusi to Twój komputer do ponownego wyświetlenia ekranu i zmiany położenia wszystkich otwartych okien. Następnie po prostu przełącz go z powrotem do oryginalnych ustawień rozdzielczości i wszystko powinno wrócić na swoje miejsce.

Philip Ebanks
źródło
4
W moim przypadku aplikacja (xScope) nie miała opcji Zoom, a moja nowa wersja Mountain Lion nie wyświetlała funkcji „wykrywaj wyświetlacze”, więc ta wskazówka działała idealnie. Dzięki!
Jon
Dla mnie też +1. (Na lwie próbującym dostać się do okna iPhone Simulator). Zoom został wyłączony dla tej aplikacji. Ułatwia to przycisk Wyświetlacze na pasku menu (Preferencje systemowe-> Wyświetlacze-> Pokaż wyświetlacze na pasku menu) - w ten sposób możesz szybko zmienić rozdzielczość lub wykryć wyświetlacze
Rabarbar
Współpracował również z Virtual Box, który był pełnym ekranem na innym (nieistniejącym) ekranie. W ogóle nie miałem paska menu. Dzięki.
mwilson
Nie działało dla mnie. Zmieniłem rozmiar wyświetlacza, ale okno wciąż jest poza zasięgiem. Widzę to w Mission Control, ale nie mogę tego dotknąć, to takie szaleństwo!
bugloaf
3
Obracanie o 90 stopni i cofanie działało dla mnie.
mjhm
45

Trzy pomysły:

  • CmdF1(lub CmdfnF1jeśli skonfigurowałeś klawiaturę MacBooka do używania normalnych klawiszy funkcyjnych) przełącza wyświetlacze między trybem lustrzanym a rozszerzonym pulpitem. Efektem ubocznym jest to, że okna są przenoszone w nieco nieprzewidywalny sposób. Może to przenieść brakujące okno w miejsce widoczne. Prawdopodobnie wymaga to jednak podłączenia zewnętrznego monitora.

  • Włącz spacje, naciśnij klawisz skrótu, aby wyświetlić przegląd spacji i sprawdź, czy widoczny jest tam brakujący kontur okna. Jeśli tak, przeciągnij go tam, gdzie chcesz.

  • Zamknij aplikację i uruchom ponownie. Zdecydowanie nie jest to idealne rozwiązanie i nie jest praktyczne, jeśli jest niezapisana praca.

Doug Harris
źródło
Przełączanie między trybem lustrzanym a rozszerzonym pulpitem nie działało. Postanowiłem wyjść z Parallels, co otworzyło okno dialogowe przed wyjściem. Po otwarciu okna dialogowego przesunąłem okno Parallels z powrotem na ekran, a następnie wybrałem „Anuluj” z „Czy na pewno chcesz wyjść?” Okno dialogowe. Nadal chciałbym, żeby był lepszy sposób.
Matthew Rankin
Twoja pierwsza opcja zadziałała dla mnie. Mam MacBooka Pro z dwoma monitorami. Nie używam Macbooka jako ekranu. Cmd F1 działał jak urok. Dziękuję
ntgCleaner
4
Przełączenie Cmd-F1 w Screen Mirror działało jak urok. A potem Cmd-F1 wraca do mojego normalnego trybu.
Bryan Focht,
Cmd + fn + F1 działało idealnie! Stukrotne dzięki!
theMarceloR
37

Niektóre okna można przenosić, na przykład przeciągając je poziomo od dolnej krawędzi.

Możesz także spróbować uruchomić takie skrypty w edytorze AppleScript:

tell application "iTunes"
    set bounds of windows to {100, 100, 800, 800}
end tell
tell application "System Events" to tell window 1 of process "UltraEdit"
    set position to {100, 100}
    set size to {800, 800}
end tell
Lri
źródło
nie działa to np. z UltaEdit - pojawia się komunikat o błędzie, że nie można ustawić granic. Wydaje się również, że składnia „ustawia granice pierwszego okna na ...”
Wolfgang Fahl
1
@WolfgangFahl set bounds of windows tojest również poprawną składnią, ale zredagowałem odpowiedź, aby dodać drugi skrypt, który działał dla mnie z UltraEdit.
Lri
Działa to w przypadku X-Lite, gdy wszystko inne zawiodło. W X-Lite nie było „Zoomu” i zmiana skali wyświetlacza nie działała, ponieważ X-LIte był całkowicie na innym ekranie.
David W.
Dzięki! Drugi skrypt (ale nie pierwszy) działał dla mnie dla FileZilla. Podczas uruchamiania skryptu upewnij się, że jesteś na tym samym pulpicie co dana aplikacja.
Tom
Doskonale, działa również na VLC, który ma zwyczaj utknąć poza ekranem, gdy był wcześniej używany na odłączonym teraz monitorze zewnętrznym.
Benji XVI,
37

Jeśli widzisz część okna, przytrzymaj klawisz Opcja, a następnie kliknij jedną z ramek okna. Umożliwi to przeciągnięcie okna do pełnego widoku.

Jim Geurts
źródło
1
Dawno temu głosowałem na inną odpowiedź, ale teraz na innym systemie operacyjnym, to zadziałało dla mnie. To jak przytrzymanie klawisza Alt i przeciągnięcie nowego kształtu w programach Adobe!
ntgCleaner
Działa to dla mnie bezbłędnie z wieloma aplikacjami X11, które nalegają na otwarcie poza widoczną przestrzenią mojego pulpitu. Zazwyczaj widzę tylko trochę tych okien i powyższa wskazówka zadziałała, aby umożliwić mi przeciągnięcie ich z powrotem do widoku.
slm
Musiałem przytrzymać Shift-Option, aby to zadziałało ... ale ... fanstastyczne, dzięki!
GreenAsJade,
Żadna opcja ani Shift-Option nie działa dla mnie w Yosemite z FileZilla: |
DemiSheep
Dzięki! Pozwala mi to również zmienić rozmiar Photoshopa, gdy jest on poza ekranem. Wydaje się, że to jedyna odpowiedź, która działa na wszystkich oknach aplikacji!
dval
21

Żadne z powyższych nie działało dla mnie, ale udało mi się naprawić, zmieniając:

  • Preferencje systemu
  • Sprzęt komputerowy
  • Wyświetla

Następnie przejdź do zakładki „Aranżacja” i przeciągnij okno zewnętrzne na okno wewnętrzne (zamiast obok siebie).

Michael Durrant
źródło
To zadziałało dla mnie, w przeciwieństwie do wszystkich innych sugestii. Nie jest to jednak idealne rozwiązanie ... Chciałbym móc utrzymać obecny układ, jeśli to możliwe.
nukeguy
1
Nic innego nie działało dla mnie - to fascynujące, dlaczego przywróci okno inkscape na MacOS, podczas gdy żadna opcja klawiatury nic nie pomoże.
Wolfgang Fahl
9

Jeśli opcja Window / Zoom z menu nie pomoże (jak sugeruje pierwsza odpowiedź):

Window / Zoom na OSX

(może się to zdarzyć, gdy aplikacja ma własną niestandardową implementację menu Okno, np. Adobe Photoshop),

musisz przejść do Ustawień wyświetlaczy i wybrać opcję „Więcej miejsca” (Skalowane).

Widzieć:

Wyświetla - skalowane - więcej miejsca

Jeśli chcesz mieć jakieś trwałe rozwiązanie, zainstaluj BetterTouchTool , który zapewnia dodatkowe opcje (gesty) do przenoszenia okien. W przykładzie:

BetterTouchTool - Przenieś okna

kenorb
źródło
1
Moja rozdzielczość na moich monitorach była już maksymalna, ale ustawienie z „Najlepszego” na „Więcej miejsca”, a następnie przywrócenie domyślnego ustawienia sprawiło, że okno Filezilla skończyło się jako pełny ekran na ekranie
Macbooka
1
Skalowanie + opcja-przeciągnij-krawędź okna działało dla mnie.
Jorge Orpinel,
8

Miałem ten problem z Parallels desktop 6 w OS X Lion, w którym rzeczywiste okno maszyny wirtualnej było ukryte poza ekranem i widoczne tylko w sterowaniu misją oraz podczas przesuwania między spacjami.

Tak więc dla osób z tym samym problemem, i mam nadzieję, że ma to zastosowanie gdzie indziej: rozwiązaniem jest kliknięcie prawym przyciskiem myszy ikony aplikacji w Docku, a następnie przejście do pozycji menu „Opcje”, a następnie w „Przypisz do” wybierz „Ten pulpit” . To powinno przenieść okno aplikacji z powrotem na bieżący pulpit. Nadal wolałem stary panel spacji dla tego rodzaju rzeczy - znacznie szybciej.

Mam nadzieję, że pomaga tym, którzy natkną się na ten post, z tym samym problemem z Parallels (jak ja)

Pamiętaj, że w Lionie nie ma opcji Przypisz do w tej pozycji.

purpletonic
źródło
Ta odpowiedź działała dla mnie i jest jedyną, która nie wydaje się ogromnym hackem.
durron597 11.04.16
8

Znalazłem sposób, używając „Force Quit ...”, klikając ikonę  w lewym górnym rogu.

Użyj go, aby wymusić zamknięcie aplikacji, a następnie uruchom ją ponownie. Zaczyna się świeżo, a okno jest na ekranie.

wgui
źródło
Ta sugestia Mooma mnie uratowała.
AndyBean,
Nie działało dla mnie z Filezillą - zainstalowałem nawet zaktualizowaną wersję i nie zresetowałem okna (nie odinstalowałem starej wersji)
DemiSheep
Mogę potwierdzić, że zadziałało to dla Inkscape na El Capitan
Wray Bowling,
niedoceniane rozwiązanie IMO
w3debugger
7

Jeśli nadal masz podłączony monitor zewnętrzny lub podłączasz go ponownie, a okno ma poza ekranem i jest niemożliwe do zarządzania, możesz kliknąć prawym przyciskiem myszy ikonę tej aplikacji w stacji dokującej i zmusić okno do przyciągnięcia drugi wyświetlacz.

Umożliwi to dostosowanie położenia okna bez potrzeby modyfikowania rozdzielczości wyświetlaczy lub otwarcia karty preferencji systemowych. Nadal nie tak łatwe jak rozwiązanie MS Windows, ale zdecydowanie łatwiejsze niż przebrnięcie przez resztę tego problemu.

James Brewer
źródło
nie ma takiej opcji na Yosemite
Chuck van der Linden
Działa to dla mnie z aplikacją Sequel Pro na High Sierra. To było poza ekranem i nie widziałem, że to pasek menu. Wybrano wyświetlacz 1 i zadziałało. Dzięki!
Najki
5

Żadna z powyższych metod nie działała dla mnie w systemie OSX 10.7.4. Próbowałem uzyskać dostęp do KeePassX, który był całkowicie poza ekranem. (Przeniosłem go na drugi ekran w domu, ale teraz byłem w biurze, bez drugiego wyświetlacza).

Zmiana rozdzielczości tam iz powrotem nie przyniosła żadnego efektu. Zamykanie i ponowne otwieranie aplikacji nie przyniosło żadnego efektu.

Jednak kiedy zamknąłem bazę danych i poprosiłem o otwarcie nowej, przeniosłem okno, dzięki czemu mogłem uzyskać dostęp do menu rozwijanego, aby wybrać plik . (tak!)

NotoriousWebmaster
źródło
4

Przytrzymaj option+ kliknij dwukrotnie ikonę aplikacji w stacji dokującej, która najpierw zminimalizuje, a następnie przywróci okna do pełnego widoku na pulpicie.

Justin
źródło
Nie działa to w systemie MacOS 10.14 Mojave.
jasonology
Wciąż działa dla mnie w Mojave v10.14.6.
Justin
3

Pozycja widoków jest zapisywana w samych plikach stalówki. Naprawiłem to, zmieniając widok, a następnie zapisując. Zamknij Konstruktor interfejsów i uruchom go ponownie. Moje okno i widok zebrane z powrotem do ekranu głównego. Muszę powiedzieć, że wypróbowałem wszystkie opcje, zanim to zrobiłem. To jest Zoom, usuwanie .plist z Biblioteki / Preferencji, F8, Zbierz Windows ... Żaden z nich nie działał. Mam nadzieję, że to pomoże.

Nima
źródło
3

Próbowałem prawie wszystkiego powyżej dla aplikacji tokenowej o nazwie SecurID, której używamy do dostępu VPN do pracy. Ten AppleScript w końcu go rozwiązał (dzięki uprzejmości http://www.leonamarant.com/2008/04/02/how-to-get-off-screen-windows-back-on-your-mac-os-x-v105/ )

-- Example list of processes to ignore: {"xGestures"} or {"xGestures", "OtherApp", ...}
property processesToIgnore : {}

-- Get the size of the Display(s), only useful if there is one display
-- otherwise it will grab the total size of both displays
tell application "Finder"
    set _b to bounds of window of desktop
    set screen_width to item 3 of _b
    set screen_height to item 4 of _b
end tell

tell application "System Events"
    set allProcesses to application processes
    set _results to ""
    repeat with i from 1 to count allProcesses
        set doIt to 1
        repeat with z from 1 to count processesToIgnore
            if process i = process (item z of processesToIgnore) then
            set doIt to 0
            end if
        end repeat

        if doIt = 1 then
            tell process i
                repeat with x from 1 to (count windows)
                    set winPos to position of window x
                    set _x to item 1 of winPos
                    set _y to item 2 of winPos

                    if (_x < 0 or _y < 0 or _x > screen_width or _y > screen_height) then
                        set position of window x to {0, 22}
                    end if
                end repeat
            end tell
        end if
    end repeat
end tell
DustinB
źródło
Miałem ten sam problem z głupią małą aplikacją secureID. Ten post uratował mnie, dzięki!
Jake Hall
2

Przejdź do Preferencji systemowych »Wyświetlacze» Wykryj wyświetlacze.

Zmusi to system do ponownego skanowania i wykrycia brakującego monitora ... To zazwyczaj rozwiązuje problem, kiedy na niego wpadam.

Ponadto, jeśli to nie zadziała, a system nadal wierzy, że monitor jest podłączony, spróbuj dwóch rzeczy:

  1. Jeśli kabel jest nadal podłączony (ale niepodłączony do monitora), odłącz go.
  2. Na karcie aranżacji w panelu wyświetlaczy wypróbuj „Zbierz system Windows”. To powinno zebrać wszystkie okna do aktywnego / głównego monitora.
Benjamin Schollnick
źródło
Próbowałem użyć Wykryj wyświetlacze i to nie działało. Nie wypróbowałem opcji „Zbierz Windows”, ale zrobię to następnym razem.
Matthew Rankin
To może, ale nie musi działać. Zauważyłem, że Wireshark (aplikacja X Windows) byłaby wyłączona, gdy podłączony był drugi monitor. To był właściwie błąd XQuartz (potwierdzony). Nie jest jasne, czy jest to błąd Apple, czy błąd XQuartz. Zobacz xquartz.macosforge.org/trac/ticket/797 .
Benjamin Schollnick
2

Prosta odpowiedź dla mnie, jeśli po prostu całkowicie usuwasz monitory zewnętrzne (np. Na spotkanie z laptopem), to po prostu zamknąć pokrywę i otworzyć ją ponownie. Wszystkie pozostałe odpowiedzi (^ 1, Zoom, ruchome okna) nie działały dla mnie.

użytkownik1442960
źródło
1

Ta WindowZoommetoda jest interesująca i prawdopodobnie użyłbym jej, gdyby nie Moom . Pozwala skonfigurować klawisze skrótów do zmiany położenia i zmiany rozmiaru okien. Mam 9-komórkową siatkę ( altoption1-9), a także lewą / prawą połówkę i kilka innych.

Domyślną Moom dla centerring i rozszerza okno jest controlshiftznastępnie space- Zmieniłem to altz. Jest to bardzo przydatne w przypadku screencastów, ponieważ masz znacznie większą kontrolę nad pozycjonowaniem okna.

Koobz
źródło
0

W skrajnych przypadkach, takich jak spotykanie się z Konstruktorem interfejsów, możesz spróbować ponownie podłączyć drugi monitor, znaleźć brakujące okno, a następnie przeciągnąć je z powrotem do głównego ekranu.

Teraz, aby sprawdzić swoją pracę, zamknij program, a następnie uruchom go ponownie, aby upewnić się, że wszystkie żądane okna znajdują się na głównym ekranie.

Teraz odłącz drugi monitor - wszystko powinno być w porządku.

JJ Rohrer
źródło
0

W mojej sytuacji okno zniknęło w Mavericks po odłączeniu jednego z zewnętrznych monitorów. Wciąż miałem inny monitor zewnętrzny podłączony do mojego MacBooka Pro, podczas gdy okna przeniesione z odłączonego zewnętrznego zostały przeniesione na mój wbudowany wyświetlacz. Jedno okno dla Chrome znajdowało się znacznie poza rzeczywistym wyświetlaczem, ale przy sposobie działania ekranów i „Spacji” w Mavericks żadna ich część nie była pokazywana na innych wyświetlaczach.

Najłatwiejszym sposobem, jaki znalazłem, jest otwarcie Exposé (albo naciskając F9, jeśli ponownie włączyłeś ten skrót klawiaturowy, albo przesuwając trzema lub czterema palcami w górę w zależności od konfiguracji) i przeciągnij brakujące okno z jednego monitora na drugi. Spowoduje to, że OS X automatycznie ustawi okno w granicach nowego monitora i będzie ponownie widoczne.

Bryson
źródło
0

Zastanawiam się, dlaczego nie wspomniano wcześniej, ale istnieje bardzo prosty sposób na rozwiązanie tego problemu.

Możesz chwycić jedną z poziomych lub pionowych krawędzi okna (ale nie narożniki) i przesunąć mysz równolegle do krawędzi, a nie w kierunku, w którym normalnie byś zmienił rozmiar okna.

Oznacza to, że jeśli przesuniesz poziomą krawędź okna poziomo lub pionową krawędź pionowo, to nie zmieni ona rozmiaru okna, ale przesunie całość. Teraz możesz przeciągnąć brakującą część okna z powrotem na ekran.

Csongor Halmai
źródło
0

Rozwiązaniem strony trzeciej jest korzystanie z HyperDock . Jest obecnie kompatybilny z macOS 10.14 Mojave.

To narzędzie modyfikuje Dock, aby wyświetlał podgląd okien każdej aplikacji unoszących się nad ikoną aplikacji.

Można je przeciągać, więc wystarczy wybrać okno, które chcesz wyświetlić, i przeciągnąć je na monitor, na którym chcesz go włączyć.

jasonologia
źródło