Abrufen von Fenstern, die sich außerhalb des Bildschirms befinden


50

Ich habe dieses Problem manchmal mit meinem Dual-Screen-Setup, besonders wenn ich viele Dinge miteinander jongliere.

Gelegentlich scheine ich in der Lage zu sein, ein Fenster komplett vom Bildschirm zu entfernen (ich bin nicht sicher, wie) und ich kann es nicht zurückbekommen. Wenn ich im Menü der Anwendung ein "Alle verstecken" mache (normalerweise ist es Mail.app, also bleiben wir beim Beispiel), verschwindet alles und Mail scheint zu glauben, dass es ein "Posteingang" -Fenster im Windows-Menü gibt, aber es ist nichts sichtbar. Das Schließen und Neustarten der App scheint nicht zu helfen (da sich die App genau merkt, wo sich mein Fenster zuvor befunden hat), und alles, was ich am Ende mache, ist, den Mac herunterzufahren, den zweiten Monitor abzuziehen und ihn neu zu starten, die Anwendung erneut zu öffnen und dies scheint den Mac zu überreden, die Position des Hauptfensters zu überdenken, und alles ist in Ordnung. Ich kann dann den zweiten Monitor neu starten usw.

Gibt es einen besseren Weg? Gibt es eine Möglichkeit, Fenster zurück auf einen bestimmten Monitor zu verschieben, oder ein Hilfsprogramm zum Verschieben von "geöffneten" / laufenden Fenstern? Mache ich eigentlich etwas falsch ? :-)

Ich benutze übrigens keine Spaces - also bin ich mir ziemlich sicher, dass dies kein seltsames Spaces-Problem ist. :-)

Antworten:


44

Chealion hat dies auf SuperUser beantwortet .

Ich werde seine Antwort hier nicht kopieren und einfügen, da er die Gutschrift nicht von mir erhalten hat.

Grundsätzlich könnten Sie jedoch Folgendes tun (zitiert nach Chealions Antwort):

Eine zweite Möglichkeit, die Fenster so anzuordnen, dass Sie sie sehen können (falls sie aus irgendeinem Grund nicht auf dem Bildschirm angezeigt werden), besteht darin, zu der Anwendung zu wechseln, in der sich das betreffende Fenster befindet, die Wahltaste gedrückt zu halten und "Vorne anordnen" von zu wählen das Fenster-Menü. Anschließend werden alle Fenster dieser Anwendung in einer Kaskade von oben links auf dem Bildschirm angeordnet.


Oh, brillant - danke! Dort habe ich seine Antwort positiv bewertet und dir hier einen Verdienst gemacht, mich an die richtige Stelle gelenkt zu haben. Dort gibt es einige gute Vorschläge, und ich kann es kaum erwarten, dass das Problem jetzt wieder auftritt. :-)
Robsoft

3
Diese Lösung funktioniert in Yosemite nicht. Sie können nur über die Anzeige, in der sich das Fenster in Yosemite befindet, auf das Menü Fenster zugreifen.
ShemSeger

5
Die Menüoption wird für XQuartz
Mead

1
Apple scheint diese Funktion ab MacOS 10.13.5 entfernt zu haben. Es ist fast so, als würde es als Fehler angesehen, wenn Fenster außerhalb des Bildschirms verschoben werden, anstatt dass sie außerhalb des Bildschirms verschoben werden können.
Konto

Kein solcher Menüpunkt in macOS Catalina
clearlight vor

15

Zur Vollständigkeit:

Aus meiner Antwort ursprünglich bei Serverfehler Frage 7237 :

Wenn ein Monitor (einschließlich des Adapters, falls zutreffend) ausgesteckt wird und der Adapter OS X verlässt, sollte der Monitor immer noch angeschlossen sein, und alle Windows-Fenster sollten auf den Hauptbildschirm verschoben werden. Gelegentlich behalten einige Fenster (z. B. Firefox) ihre Position ganz rechts auf dem Bildschirm bei, sodass Sie gerade genug Platz haben, um die Titelleiste zu greifen und sie zu verschieben, wo Sie möchten.

Bevor Sie den externen Monitor vom Computer trennen (oder bevor Sie den Dongle vom Computer trennen), können Sie in den Systemeinstellungen das Fenster "Bildschirmeinstellungen" öffnen und auf die Schaltfläche "Windows zusammenstellen" klicken. Dies soll jedes Fenster auf dem Hauptbildschirm anzeigen und die Option wird nicht angezeigt, wenn kein zweiter Monitor angeschlossen ist.

Eine zweite Möglichkeit, die Fenster so anzuordnen, dass Sie sie sehen können (falls sie aus irgendeinem Grund nicht auf dem Bildschirm angezeigt werden), besteht darin, zu der Anwendung zu wechseln, in der sich das betreffende Fenster befindet, die Wahltaste gedrückt zu halten und "Vorne anordnen" von zu wählen das Fenster-Menü. Anschließend werden alle Fenster dieser Anwendung in einer Kaskade von oben links auf dem Bildschirm angeordnet.

Schließlich gibt es mehrere AppleScripts (z. B. dieses bei Snipplr ), die auch jedes Fenster außerhalb des Bildschirms erfassen und für Sie auf dem Bildschirm verschieben.

Es gibt auch eine raffinierte Shareware-App namens Stay , mit der Sie vieles automatisieren können, während MarcoPolo viel mehr kann, als nur zu bemerken, wenn ein Monitor nicht angeschlossen ist und Sie Skripte ausführen können (falls Sie möchten) mehr als nur die Fenster neu anordnen).


11

Ich dachte, ich sollte darauf eine Antwort geben, die Lösungen speziell für XQuartz beschreibt. Viele der hier beschriebenen Lösungen funktionieren nicht für XQuartz. Aus diesem Ticket: https://xquartz.macosforge.org/trac/ticket/796 , ich habe zwei Lösungen gefunden, die funktionieren, und ich halte es für vorteilhaft, sie hier anzugeben.

  1. Wenn Sie Ihren Monitor problemlos vom Netz trennen / anschließen können, trennen Sie ihn vom Netz, damit Ihr Fenster an einer für Sie zugänglichen Stelle angezeigt wird. Klicken Sie dann mit der Maus auf das Fenster und halten Sie die Maustaste gedrückt, als würden Sie es ziehen. Schließen Sie Ihren Monitor an, ohne Maus oder Fenster loszulassen. Das XQuartz-Fenster sollte dort bleiben, wo sich Ihre Maus befindet.

  2. Dieses ShiftIt-Paket funktioniert sehr gut, um Fenster, die vom Bildschirm verschwunden sind, zu erhalten: https://github.com/fikovnik/ShiftIt/downloads Es gibt möglicherweise andere ähnliche Pakete, aber dieses ist sauber und effektiv.

Hoffe das hilft jemandem!


Shiftlt funktioniert fast mit XQuartz. Tatsächlich wird das Hauptfenster von (z. B.) Inkscape neu zentriert, nicht jedoch das sekundäre Fenster (Eigenschaftsdialog). Ein schönes Tool, das man jedoch kennen muss. +1
Lauhub

6

Ich habe zwei Bildschirme und beim Laden von Inkscape ist es normalerweise an einem unzugänglichen Ort. Ich kann es sehen, indem ich "Alle Fenster anzeigen" benutze, aber wenn ich es von dort aus auswähle, verschwindet es wieder. Die Lösung, die ich gefunden habe, stammt aus diesem Mailinglistenkommentar .

Beim Ausstecken des zweiten Bildschirms sehe ich Inkscape. Aber selbst nachdem ich es ein wenig bewegt habe, verschwindet es wieder vom Rand, wenn ich den anderen Bildschirm wieder einstecke. Die Lösung ist:

  1. Trennen Sie den zweiten Bildschirm
  2. Fassen Sie mit der Maus die Titelleiste des Fensters an (klicken und halten)
  3. Schließen Sie den Monitor wieder an, während Sie die Titelleiste gedrückt halten

Ich werde hinzufügen, dass ich während der Ausführung dieser Aufgabe viele Blicke von anderen Leuten im Büro bekomme.
Tremby

4

Ich habe eine wirklich einfache Lösung dafür gefunden.

Es ist mir auf Powerpoint passiert. Ich ging zum Powerpoint-Menü am oberen Bildschirmrand. Klicken Sie auf „Fenster“ und dann auf „Fenster vergrößern“. Getan


Dies ist die einzige Antwort, die für 10.11.5 (Codename El Capitan) funktioniert hat.
Pzulw

Alternativ funktionierte Window> Zoom nur für mich (Zoom in Window war keine Option).
Thomas McCabe

3

Ich habe es versucht und es hat bei mir funktioniert, indem ich die Auflösung auf eine niedrigere umgestellt und dann wieder hochgefahren habe. Und es versetzt die Anwendung auf magische Weise in den Mittelpunkt. Prost.


3

Ich habe diese Anwendung gefunden: WindowWrangler

Es erlaubt einem, Tastaturkürzel zu verwenden, um das Fenster zu bewegen.

Leider funktioniert es nicht für das einzige Fenster, das ich brauche: Inkscape in einer XQuartz-Umgebung.


2
Haben Sie eine Lösung für xquartz gefunden?
Gebirgsbärbel

Die Lösung, die ich gefunden habe, bestand darin, einen externen Monitor anzuschließen: In diesem Fall wurde die Position des Fensters so geändert, dass ich es verschieben konnte. Ich verschiebe es so, dass nach dem Trennen des Bildschirms die obere Leiste des Fensters "zugänglich" ist.
Lauhub

@ gebirgsbärbel Siehe die Antwort, die ich gerade unten gepostet habe. Ich denke, Sie finden es vielleicht nützlich.
Nukeguy

@ gebirgsbärbel Siehe die [neue Antwort] ( apple.stackexchange.com/a/238975/31154 ), die ich unten mit dem xdotoolDienstprogramm gepostet habe und die endlich alle meine Probleme gelöst hat
lauhub

3

Für ein bestimmtes X11 / XQuartz-Problem habe ich hier eine Lösung gefunden.

Voraussetzung

Zunächst benötigen Sie xdotool . Man kann es mit installierenbrew install xdotool

Die Grundlagen

Sie können ein Fenster mit dem folgenden Skript nach links verschieben:

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

-44 ist ein Wert, von dem ich glaube, dass er die Summe der Höhe der Titelleiste und der Höhe der Menüleiste ist. Wenn hier nicht festgelegt, wird das Fenster geschlossen, anstatt die y-Position beizubehalten.

Für den richtigen Zug:

xdotool getactivewindow windowmove --relative -- 100 -44

Nach oben :

xdotool getactivewindow windowmove --relative -- x -100

Nach unten bewegen:

xdotool getactivewindow windowmove --relative -- x 100

Jetzt können Sie das aktuell ausgewählte Fenster verschieben (auf das Sie mit Expose zugreifen können, indem Sie darauf klicken, wenn es sich außerhalb des Bildschirms befindet).

Sicht aussetzen

Anschließend können Sie das Terminal öffnen und die Befehle wiederholen, bis das Fenster angezeigt wird.

Greifen Sie über eine Verknüpfung darauf zu

Um Ihr Fenster mithilfe der Tastenkombination zu bewegen, können Sie die hier angegebene Erklärung verwenden

Ich habe diese Verknüpfung tatsächlich mit BetterTouchTool hinzugefügt.

  1. BetterTouchPreferences> Tastatur
  2. Neue Verknüpfung hinzufügen
  3. Wählen Sie das Textfeld Tastaturkürzel und drücken Sie (zB) shift+ ^+ cmd+
  4. Wählen Sie Vordefinierte Aktion auslösen : Andere Anwendungen steuern> Terminalbefehl ausführen
  5. Geben Sie den Befehl für (zB) rechts bewegen mit dem vollständigen Pfad zu xdotool ein (Sie können ihn mit dem which xdotoolBefehl erhalten).

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

  6. Klicken Sie auf die Schaltfläche Speichern.

Wiederholen Sie das gleiche für andere Richtungen und genießen Sie!


fink hat kein xdotool
Mei

2

Der Vollständigkeit halber bin ich auch auf Folgendes gestoßen : Stay App für Mac, obwohl ich es noch nicht ausprobiert oder gekauft habe.

Von ihrer Website:

Stay kann eine Reihe von Fenstern für jede Kombination von Anzeigen speichern, die Sie mit Ihrem Computer verwenden. Wenn Sie beispielsweise einen Laptop haben, der manchmal an einen externen Monitor angeschlossen ist, können Sie zwei Fenstersätze in Stay speichern. einer mit angeschlossenem externen Monitor und einer ohne. Wenn Sie dies tun, können Sie sicherstellen, dass Ihre Fenster immer dort sind, wo Sie sie haben möchten, indem Sie Stay restore windows ausführen, wenn Sie den externen Monitor anschließen oder trennen. Stay kann sogar so konfiguriert werden, dass Windows automatisch wiederhergestellt wird, wenn Anzeigen verbunden und getrennt werden.


2

Ich habe eine Lösung, die für mich funktioniert hat, und ich habe Foren durchsucht und alles versucht, was ich konnte.

Am Ende habe ich einen Weg gefunden. Installieren Sie eine App namens BetterTouchTool. Auf diese Weise können Sie eine Verknüpfung erstellen, um verschiedene nützliche Dinge mit Ihrem Bildschirm usw. zu erledigen. Richten Sie dann eine anwendungsspezifische Verknüpfung ein (viel einfacher als es sich anhört) und vereinfachen Sie diese. Ich habe es so eingestellt, dass ein "Wischen mit zwei Fingern" zu einer Aktion "Fenster maximieren" führte. Dadurch wurde die fehlende Anwendung auf meinem Laptop-Bildschirm und nicht auf dem Phantombildschirm, auf dem sie aufgeklebt war, festgehalten.

Problem gelöst.

Hier ist ein Bild davon, wie BetterTouchTool aussah, als ich die Verknüpfung eingerichtet habe:

BetterTouchTool-Verknüpfung


Ich behebe das Problem auch mit BetterTouchTool.
Eugenio

2

Ich hatte gerade das gleiche Problem in Mavericks. Es gelang mir, das Problem zu lösen, indem ich die folgenden Schritte befolgte:

  1. Stellen Sie den Zeiger auf einen Rand des Fensters, der sich vom Bildschirm wegbewegt hat, z. B. auf den rechten Rand.
  2. Wenn Sie das Größenänderungssymbol sehen (in meinem Fall das horizontale Größenänderungssymbol), klicken und halten Sie.
  3. Während Sie die Maustaste gedrückt halten, ziehen Sie das Fenster. Voila!

Dies funktioniert nur, wenn sich das Fenster am Rand des anderen Fensters befindet
Mei


2

In El Capitan haben die einfachen Antworten hier für mich nicht funktioniert oder waren nicht als Option verfügbar. Die Aufgabe bestand darin, mit der rechten Maustaste auf die App im Dock zu klicken (in meinem Fall Chrome) und Optionen> Auf dem Bildschirm dem Desktop zuweisen 1 auszuwählen. Dadurch wurden alle Fenster auf meinen aktuellen Desktop verschoben.


1

Es scheint, dass dies mir am häufigsten passiert, wenn die sekundäre Anzeige "über" ist (in den Systemeinstellungen -> Anzeige -> Anordnung). Wenn das Problem auftritt, wenn ich die externe Anzeige "nach rechts" bewege, werden die X11-Fenster wieder angezeigt.


1

In Yosemite, wenn für mich gearbeitet

  1. Öffnen Sie die Systemeinstellungen
  2. Öffnen Sie Anzeige <Auflösung
  3. wähle 'Skaliert'
  4. Ändern Sie die Einstellung vorübergehend auf etwas anderes

Für mich war dies genug, um die Anwendung wieder auf den Bildschirm zu zwingen.


1

Ein bisschen seltsam, dass ein Fenster (Terminal in meinem Fall) in der Anordnung verloren gegangen ist. Ich versuchte zu zoomen, alles nach vorne zu bringen, aber nichts schien zu funktionieren.

Schließlich hat das Fenster → Alle Fenster zusammenführen den Trick getan.


0

Sie können eine einfache App erstellen, um dies im AppleScript-Editor zu tun. Geben Sie den folgenden Text ein und speichern Sie ihn als App. Wenn Sie es in Ihren Anwendungsordner legen, ist der Zugriff über SpotLight einfach. Ich habe meine Fenster zum Sammeln genannt.

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

1
Der Vollständigkeit halber müssen Sie erläutern , wie Sie „Skript - Editor ist nicht erlaubt assis Zugang“ (Yosemite) zu bekommen
jcollum

0

Eine andere Lösung für XQuartz:

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

Ersetzen Sie "inkscape" durch das, was Sie wollen.


0

Hier ist eine einfache Antwort, die 15 Sekunden dauert und eine dauerhafte Lösung darstellt.

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

Dieses Problem tritt auf, wenn Sie mehrere Anzeigen haben. Das Dokument wird geöffnet und befindet sich in der linken Ecke aller Anzeigen außerhalb des Bildschirms. Sie können dies nicht mit Applescript beheben: XQuartz implementiert nicht die standardmäßigen Scriptability-Verben zum Abrufen und Festlegen der Position von Fenstern. Es werden auch nicht die Standard-Äquivalente des X11-Fenstermanagers implementiert.

Die Ursache des Problems ist ein Konflikt zwischen einer Voreinstellung in Inkscape und einer Voreinstellung in Mavericks.

Die werkseitige Voreinstellung für Mavericks in den Systemeinstellungen> Missionssteuerung ist [x]. Displays haben separate Leerzeichen

Die Standardeinstellung für Inkscape in der Menüleiste Datei> Inkscape-Einstellungen> Windows lautet (•) Fenstergeometrie für jedes Dokument speichern und wiederherstellen.

Wenn Sie die OS X-Voreinstellungen ändern (Abmelden und erneutes Anmelden erforderlich) oder die Inkscape-Voreinstellungen auf (•) Fenstergeometrie nicht speichern ändern (Dies ist nur möglich, wenn Inkscape Ihnen Folgendes anzeigt: Fenster), verhält sich Inkscape wie erwartet.

Wenn Sie also das neue Verhalten von Mavericks mit mehreren Anzeigen auf Ihrem Mac möchten, kehren Sie vorübergehend zum alten Verhalten zurück, ändern Sie eine Inkscape-Voreinstellung und stellen Sie Mavericks auf jedem Bildschirm wieder auf eine Menüleiste ein.


0

Wählen Sie unter dem Menüpunkt "Fenster" der Anwendung "Alle anordnen". Dies funktionierte für Microsoft PowerPoint für Mac und möglicherweise nicht für alle.


0

Ich habe ein ähnliches Problem bei meinem Mac, wenn ich MS Powerpoint öffne, da es nicht auf dem Bildschirm angezeigt wird. Der einfachste Weg ist, in die Menüleiste von Powerpoint oben auf Ihrem Mac zu gehen und dort auf "Fenster" zu klicken und dort auf "Alle anordnen" zu klicken. Die fehlenden / versteckten PowerPoint-Fenster werden angezeigt


0

Die einfachste Lösung für dieses Problem besteht darin, mit der rechten Maustaste auf das entsprechende Symbol in der Taskleiste zu klicken und dann "Ausblenden" auszuwählen. Sie können dann dasselbe tun und 'Anzeigen' auswählen, und dann wird das fehlende Fenster wieder angezeigt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.