Jak odzyskać okna, które zostały przeniesione „poza ekran”

50

Czasami mam ten problem z konfiguracją podwójnego ekranu, zwłaszcza gdy żongluję wieloma rzeczami.

Czasami wydaje się, że jestem w stanie przenieść okno całkowicie poza ekran (nie jestem pewien, jak to zrobić) i nie mogę go odzyskać. Jeśli zrobię „ukryj wszystko” w menu aplikacji (zwykle jest to Mail.app, więc trzymajmy się tego na przykład), wszystko zniknie i Mail wydaje się myśleć, że ma okno „skrzynki odbiorczej” w menu Windows, ale nic nie widać. Zamykanie i ponowne uruchamianie aplikacji nie pomaga (ponieważ aplikacja zapamiętuje, gdzie poprzednio było moje okno), a wszystko, co kończę, to wyłączanie komputera Mac, odłączanie drugiego monitora i restartowanie go, otwieranie aplikacji ponownie i to wydaje się namawiać Maca do ponownego przemyślenia pozycji głównego okna i wszystko jest w porządku. Następnie mogę ponownie uruchomić drugi monitor itp.

Czy jest lepszy sposób? Czy istnieje sposób przeniesienia systemu Windows z powrotem do określonego monitora lub narzędzie do przenoszenia „otwartych” / uruchomionych okien? Czy faktycznie robię coś złego ? :-)

Nawiasem mówiąc, nie używam Spaces - więc jestem prawie pewien, że to nie jest jakiś dziwny problem Spaces. :-)

robsoft
źródło

Odpowiedzi:

44

Chealion odpowiedział na to na SuperUser .

Nie skopiuję i nie wkleję tutaj jego odpowiedzi, ponieważ dostał kredyt nie ja.

Ale w zasadzie to, co możesz zrobić, to (cytat z odpowiedzi Chealiona):

Drugą metodą aranżacji systemu Windows, aby można go było zobaczyć (jeśli z jakiegoś powodu pozostają poza ekranem), jest przejście do aplikacji, która jest właścicielem danego okna, przytrzymaj klawisz Opcja i wybierz „Rozmieść z przodu” z menu Okno. Następnie ułoży wszystkie okna tej aplikacji w kaskadzie od lewego górnego rogu ekranu.

Studer
źródło
Och, wspaniale - dzięki! Głosowałem tam za jego odpowiedzią i podziękowałem ci za wskazanie mi właściwego miejsca. Jest tam kilka dobrych sugestii i prawie nie mogę się doczekać, aby problem powtórzył się teraz. :-)
robsoft
3
To rozwiązanie nie działa w Yosemite, dostęp do menu Okno można uzyskać tylko z wyświetlacza, w którym okno jest włączone w Yosemite.
ShemSeger
5
Opcja menu nie pojawia się dla XQuartz
Mead
1
Wygląda na to, że Apple usunął tę funkcję w systemie MacOS 10.13.5. To prawie tak, jakby możliwość uzyskania okien, które zostały przeniesione poza ekran, jest uważana za błąd, zamiast faktu, że można je przenieść poza ekran.
Wyrzuć konto
Brak takiej pozycji menu w macOS Catalina
jasne światło
15

Dla pełności:

Z mojej odpowiedzi pierwotnie na pytanie o awarię serwera 7237 :

Gdy monitor jest odłączony (w tym także adapter, jeśli dotyczy) - pozostawienie adaptera w systemie OS X z myślą, że monitor jest nadal podłączony), wszystkie systemy Windows powinny przejść na ekran główny. Czasami niektóre okna (np. Firefox) utrzymują swoją pozycję po prawej stronie ekranu, pozostawiając Ci wystarczająco dużo miejsca, aby chwycić pasek tytułu i przenieść go tam, gdzie chcesz.

Jedną z metod jest przed odłączeniem monitora zewnętrznego (lub przed odłączeniem klucza sprzętowego) jest otwarcie okienka preferencji ekranów w Preferencjach systemowych i kliknięcie przycisku „Zbierz system Windows”. Ma to przynieść każde okno na ekranie głównym, a opcja nie pojawia się, jeśli nie masz podłączonego drugiego monitora.

Drugą metodą aranżacji systemu Windows, aby można go było zobaczyć (jeśli z jakiegoś powodu pozostają poza ekranem), jest przejście do aplikacji, która jest właścicielem danego okna, przytrzymaj klawisz Opcja i wybierz „Rozmieść z przodu” z menu Okno. Następnie ułoży wszystkie okna tej aplikacji w kaskadzie od lewego górnego rogu ekranu.

Na koniec dostępnych jest kilka skryptów AppleScript (np. Ten w Snipplr ), które również będą pobierać każde okno poza ekran i przenosić je na ekran za Ciebie.

Istnieje również sprytna aplikacja shareware o nazwie Stay , która pomoże ci zautomatyzować wiele z tego, podczas gdy istnieje także MarcoPolo, który zrobi znacznie więcej niż tylko zauważenie, jeśli monitor zostanie odłączony i pozwoli ci uruchamiać skrypty (na wypadek, gdybyś chciał nie tylko zmieniaj rozmieszczenie okien).

Chealion
źródło
11

Pomyślałem, że powinienem odpowiedzieć na to pytanie, które opisuje rozwiązania specjalnie dla XQuartz. Wiele rozwiązań tutaj nie działa dla XQuartz. Z tego biletu: https://xquartz.macosforge.org/trac/ticket/796 znalazłem dwa działające rozwiązania i uważam, że warto je tutaj podać.

  1. Jeśli możesz łatwo odłączyć / podłączyć monitor, odłącz monitor, aby okno pojawiło się w miejscu, do którego masz dostęp. Następnie za pomocą myszy kliknij okno i przytrzymaj przycisk myszy, jakbyś go przeciągał. Nie puszczając myszy ani okna, podłącz monitor. Okno XQuartz powinno pozostać tam, gdzie jest twoja mysz.

  2. Ten pakiet ShiftIt działa bardzo dobrze do pobierania okien, które zniknęły poza ekranem: https://github.com/fikovnik/ShiftIt/downloads Mogą istnieć inne podobne pakiety, ale ten jest czysty i skuteczny.

Mam nadzieję, że to komuś pomoże!

nukeguy
źródło
Shiftlt działa prawie z XQuartz. W rzeczywistości ponownie centruje okno główne (np.) Inkscape, ale nie okno dodatkowe (okno właściwości). Przyjemne narzędzie do poznania. +1
lauhub
6

Mam dwa ekrany i ładowanie Inkscape zwykle umieszcza go w niedostępnym miejscu. Widzę to za pomocą „pokaż wszystkie okna”, ale jeśli wybiorę je stamtąd, zniknie. Rozwiązanie, które znalazłem, pochodzi z tego komentarza do listy mailingowej .

Po odłączeniu drugiego ekranu widzę Inkscape. Ale nawet po przesunięciu go trochę, jeśli ponownie podłączę drugi ekran, zniknie on z krawędzi. Rozwiązaniem jest:

  1. Odłącz drugi ekran
  2. Użyj myszki, aby chwycić pasek tytułu okna (kliknij i przytrzymaj)
  3. Trzymając pasek tytułu, ponownie podłącz monitor
drżenie
źródło
Dodam, że podczas wykonywania tego zadania dostaję wiele spojrzeń od innych ludzi w biurze.
tremby
4

Znalazłem naprawdę łatwą naprawę tego.

Zdarzyło mi się w Powerpoint. Poszedłem do menu Powerpoint na górze ekranu. Kliknij „Okno”, a następnie „Powiększ okno”. Gotowy

DBranx
źródło
To jedyna odpowiedź, która zadziałała dla 10.11.5 (nazwa kodowa El Capitan).
pzulw
Alternatywnie, Okno> Zoom po prostu działało dla mnie (Zoom w oknie nie był opcją).
Thomas McCabe
3

Coś, co próbowałem i zadziałało dla mnie, to zmiana rozdzielczości na niższą, a następnie przywrócenie jej. I po prostu magicznie umieszcza aplikację w centrum. Twoje zdrowie.

Sztuka
źródło
3

Znalazłem tę aplikację: WindowWrangler

Pozwala używać skrótów klawiaturowych do przesuwania okna.

Niestety nie działa tylko w jednym oknie, którego potrzebuję: Inkscape w środowisku XQuartz.

lauhub
źródło
2
Czy znalazłeś jakieś rozwiązanie dla Xquartz?
gebirgsbärbel
Rozwiązaniem, które znalazłem, było podłączenie zewnętrznego monitora: w takim przypadku zmienione okno jest pozycjonowane w sposób, który mógłbym przenieść. Przesuwam go tak, aby po odłączeniu ekranu górny pasek okna był „dostępny”.
lauhub
@ gebirgsbärbel Zobacz odpowiedź, którą właśnie zamieściłem poniżej. Myślę, że może ci się to przydać.
nukeguy
@ gebirgsbärbel Zobacz [nową odpowiedź] ( apple.stackexchange.com/a/238975/31154 ) Wysłałem poniżej, używając xdotoolnarzędzia, które w końcu rozwiązało wszystkie moje problemy
lauhub
3

Dla konkretnego problemu X11 / XQuartz znalazłem rozwiązanie, które znalazłem.

Warunek wstępny

Najpierw będziesz potrzebował xdotool . Można go zainstalować za pomocąbrew install xdotool

Podstawy

Możesz przenieść okno w lewo za pomocą następującego skryptu:

xdotool getactivewindow windowmove --relative -- -100 -44

-44 to wartość, która moim zdaniem jest sumą wysokości paska tytułu i wysokości paska menu. Jeśli nie zostanie tu ustawione, okno spadnie zamiast utrzymywać pozycję y.

Dla ruchu w prawo:

xdotool getactivewindow windowmove --relative -- 100 -44

Aby przejść w górę:

xdotool getactivewindow windowmove --relative -- x -100

Aby przejść w dół:

xdotool getactivewindow windowmove --relative -- x 100

Teraz możesz przenieść aktualnie wybrane okno (do którego można uzyskać dostęp za pomocą opcji Expose, klikając je, jeśli jest poza ekranem).

Ujawnij widok

Następnie możesz otworzyć terminal i powtarzać polecenia, aż pojawi się okno.

Uzyskaj do niego dostęp za pomocą skrótu

Aby przesunąć okno za pomocą skrótu klawiaturowego, możesz skorzystać z wyjaśnienia podanego tutaj

Skrót dodałem za pomocą BetterTouchTool.

  1. Preferencje BetterTouch> Klawiatura
  2. Dodaj nowy skrót
  3. Wybierz pole tekstowe skrótu klawiaturowego i naciśnij (np.) shift+ ^+ cmd+
  4. Wybierz opcję Wstępnie zdefiniowane działanie wyzwalacza : Kontrolowanie innych aplikacji> Wykonaj polecenie terminala
  5. Wpisz polecenie (np.) Przesunięcia w prawo z pełną ścieżką do xdotool (możesz go uzyskać za pomocą which xdotoolpolecenia)

    /usr/local/bin/xdotool getactivewindow windowmove --relative -- 100 -44

  6. Kliknij przycisk Zapisz.

Powtórz to samo dla innych kierunków i ciesz się!

lauhub
źródło
fink nie ma xdotool
Mei
2

Ponadto, dla kompletności, natknąłem się na: pozostań aplikacją na Maca, chociaż jeszcze jej nie wypróbowałem ani nie kupiłem.

Z ich strony internetowej:

Stay może przechowywać zestaw okien dla każdej kombinacji wyświetlaczy używanych z komputerem. Na przykład, jeśli masz laptopa, który czasami jest podłączony do zewnętrznego monitora, możesz przechowywać dwa zestawy okien w Stay; jeden z podłączonym monitorem zewnętrznym i jeden bez. W ten sposób będziesz mieć pewność, że twoje okna będą zawsze tam, gdzie chcesz, poprzez przywracanie okien Stay przy każdym podłączaniu lub odłączaniu zewnętrznego monitora. Stay można nawet skonfigurować tak, aby automatycznie przywracał okna po podłączeniu i odłączeniu wyświetlaczy.

robsoft
źródło
2

Mam rozwiązanie, które dla mnie zadziałało. Przeszukiwałem fora i próbowałem wszystkiego, co mogłem.

W końcu znalazłem sposób. Zainstaluj aplikację o nazwie BetterTouchTool. Pozwala to utworzyć skrót do robienia różnych przydatnych rzeczy na ekranie itp. Następnie należy skonfigurować skrót do aplikacji (o wiele łatwiejszy niż się wydaje) i uprościć go. Ustawiłem tak, aby „przesunięcie dwoma palcami w górę” doprowadziło do akcji „Maksymalizuj okno”. Spowodowało to przyklejenie brakującej aplikacji do ekranu mojego laptopa i z dala od ekranu monitora fantomu, na którym utknął.

Problem rozwiązany.

Oto obraz tego, jak wyglądał BetterTouchTool, gdy ustawiałem skrót:

Skrót BetterTouchTool

Alec
źródło
Naprawiam również problem za pomocą BetterTouchTool.
Eugenio
2

Właśnie miałem ten sam problem w Mavericks, udało mi się go rozwiązać, wykonując następujące kroki:

  1. Wskaż kursorem krawędź okna, która wyszła z ekranu, na przykład krawędź po prawej stronie.
  2. Gdy zobaczysz ikonę zmiany rozmiaru (w moim przypadku pozioma ikona zmiany rozmiaru), kliknij i przytrzymaj.
  3. Podczas „przytrzymywania kliknięcia” przeciągnij okno. Voila!
Adolfo Abegg
źródło
Działa to tylko wtedy, gdy okno jest na krawędzi drugiego okna
Mei
2

Mój przyjaciel napisał bezpłatne narzędzie do przywracania systemu Windows, jeśli chcesz to sprawdzić, przejdź tutaj: http://bring-em-back.com

Gabiz Ra
źródło
2

W El Capitan proste odpowiedzi tutaj nie działały dla mnie lub nie były dostępne jako opcje. Zadziałało kliknięcie aplikacji prawym przyciskiem myszy (w moim przypadku Chrome) i wybranie Opcje> Przypisz do pulpitu na wyświetlaczu 1. Spowodowało to przeniesienie wszystkich okien na bieżący pulpit.

Ggutenberg
źródło
1

Wydaje mi się, że zdarza mi się to najczęściej, gdy drugi ekran jest „powyżej” (w Preferencjach systemowych -> Wyświetlacz -> Układ). Gdy problem występuje, jeśli przesunę ekran zewnętrzny „w prawo”, ponownie pojawią się okna X11.

T Martin
źródło
1

W Yosemite, jeśli pracowałeś dla mnie

  1. otwórz Preferencje systemowe
  2. otwórz Wyświetlacz <Rozdzielczość
  3. wybierz „Skalowane”
  4. tymczasowo zmień ustawienie na cokolwiek innego

Dla mnie to wystarczyło, aby wymusić powrót aplikacji na ekran.

plfrick
źródło
1

Trochę dziwne, że okno (w moim przypadku Terminal) zgubiło się w aranżacji. Próbowałem powiększyć, przybliżyć wszystko do przodu, ale wydawało się, że nic nie działa.

Wreszcie okno → Scal wszystkie systemy Windows załatwiło sprawę.

Siddiq Koona
źródło
0

Możesz stworzyć prostą aplikację, aby to zrobić w edytorze AppleScript. Wpisz następujący tekst i zapisz go jako aplikację. Jeśli umieścisz go w folderze Aplikacje, będzie on łatwo dostępny za pośrednictwem SpotLight. Nazwałem moje, zbieram okna.

property processesToIgnore : {}
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
jeremyjjbrown
źródło
1
Aby uzyskać kompletność, musisz wyjaśnić, jak się poruszać „Edytor skryptów nie ma dostępu wspomaganego” (Yosemite)
jcollum
0

Inne rozwiązanie dla XQuartz:

brew install wmctrl
wmctrl -i -r $(wmctrl -G -l | grep -i inkscape | cut -d' ' -f1 ) -e 0,0,0,100,100

Zamień „inkscape” na cokolwiek chcesz.

Yatharth Agarwal
źródło
0

Oto prosta odpowiedź, która zajmuje 15 sekund i jest stałą poprawką.

https://groups.google.com/forum/#!topic/eggbotuser/48RbZ2Pey5A

Ten problem pojawia się, jeśli masz wiele ekranów. Dokument zostanie otwarty, jest po prostu daleko w lewo, poza ekranem wszystkich wyświetlaczy. Nie można tego naprawić za pomocą Applescript: XQuartz nie implementuje standardowych czasowników skryptowych, aby uzyskać i ustawić pozycję okien. Nie implementuje również standardowych odpowiedników menedżera okien X11.

Przyczyną problemu jest konflikt między ustawieniem preferencji w Inkscape a ustawieniem preferencji w Mavericks.

Domyślne ustawienie preferencji dla Mavericks w Preferencjach systemowych> Kontrola misji to [x] Wyświetlacze mają oddzielne przestrzenie

Domyślne ustawienie preferencji dla Inkscape na pasku menu Plik> Preferencje Inkscape> Windows to (•) Zapisywanie i przywracanie geometrii okna dla każdego dokumentu.

Jeśli zmienisz preferencje OS X (wymaga wylogowania i ponownego zalogowania) lub zmienisz preferencje Inkscape na (•) Nie zapisuj geometrii okna (co nie jest możliwe, chyba że możesz uzyskać od Inkscape wyświetlenie okno) Inkscape działa zgodnie z oczekiwaniami.

Jeśli więc chcesz nowe zachowanie Mavericks z wieloma ekranami na komputerze Mac, to tymczasowo powróć do starej wersji, zmień preferencje Inkscape, a następnie ustaw Mavericks z powrotem na pasek menu na każdym ekranie.

Geoffrey Hyatt
źródło
0

W punkcie menu aplikacji „Okno” wybierz „Rozmieść wszystko”. Działa to dla Microsoft PowerPoint dla komputerów Mac, może nie działać dla wszystkich.

użytkownik220250
źródło
0

Mam podobny problem na komputerze Mac podczas otwierania MS Powerpoint, ponieważ nie wyświetla się na ekranie. Najprostszym sposobem jest przejście do paska menu programu Powerpoint na górze ekranu komputera Mac i kliknięcie „Okno”, a następnie pod tym przyciskiem „Rozmieść wszystko”. Pojawią się brakujące / ukryte okna programu PowerPoint

Panna G Dacuma
źródło
0

Najprostszym rozwiązaniem tego problemu jest kliknięcie prawym przyciskiem myszy odpowiedniej ikony na pasku zadań, a następnie wybranie opcji „Ukryj”. Możesz zrobić to samo i wybrać „Pokaż”, a następnie ponownie pojawi się brakujące okno.

Baylaw
źródło