Gibt es eine Tastenkombination, um ein Fenster von einem Monitor auf einen anderen zu verschieben?

Gibt es eine kostenlose App, mit der ich ein Fenster über die Tastatur von einem Monitor auf den anderen Monitor verschieben kann (bei nur zwei Monitoren vorausgesetzt)? Ich sollte die Maus überhaupt nicht verwenden müssen (z. B. zum Auswählen des Fensters oder des Monitors oder zum Ziehen).

Ich weiß, dass dies unter Linux mit compiz möglich ist. Ich bin überrascht, dass es keine (kostenlose) Option für OS X gibt.

Beantwortet eine ähnliche Frage hier: superuser.com/a/1515866/1128269

Antworten (17)

UPDATE: Spectacle wird nicht mehr gewartet. Die Website leitet Benutzer zu Rectangle weiter, siehe Jacks Antwort oder https://github.com/rxhanson/Rectangle/releases .


Ich habe gerade Spectacle ausprobiert , tolle App und es ist kostenlos.

Dies ist, was es mit der ausgewählten Gruppe von Fenstern tun kann.

Geben Sie hier die Bildbeschreibung ein

Sie müssen die Barrierefreiheitsunterstützung aktivieren.

Systemeinstellungen > Eingabehilfen > Zugriff für unterstützte Geräte aktivieren

Laut Kommentar: Die Barrierefreiheitsoption in Mavericks ist jetzt verfügbar

Systemeinstellungen > Sicherheit und Datenschutz > Datenschutz > Barrierefreiheit

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Hat für mich funktioniert, ohne Hilfsgeräte in den Eingabehilfen aktivieren zu müssen.
Mit OS X Mavericks wurde die Option zum Aktivieren des Zugriffs für Hilfsgeräte zu Systemeinstellungen -> Sicherheit und Datenschutz -> Datenschutz -> Eingabehilfen verschoben, wo Sie Spectacle aufgelistet sehen und ihm erlauben können, Ihren Computer zu steuern.
Um die Verknüpfung speziell zu identifizieren, verwendet Spectacle die Verknüpfungen ⌃⌥⌘← und ⌃⌥⌘→, um zwischen den Fenstern für jede Anzeige zu wechseln.
Ich benutze Spectacle bereits, also habe ich das versucht ... leider das erste, was ich versucht habe (meine eigene Java / OpenGL-App)
Es ist großartig und kann viele coole Dinge tun, die win7 + kann, was ich vermisst habe, ABER ich konnte es nicht dazu bringen, das zu tun, was die ursprüngliche Frage verlangt - das Fenster über Monitore zu bewegen. :(
Spectacle ermöglicht Ihnen dies jetzt (klicken Sie auf den Link für ein Bild).
Funktioniert gut. Obwohl eine Möglichkeit, Fenster von einem Bildschirm (nicht Monitor) auf einen anderen zu verschieben, hilfreich sein könnte. Funktioniert für die gestellte Frage.
Wenn das Fenster maximiert ist, wird Spectacle es auf dem neuen Monitor nicht maximiert halten, daher ist dies meiner Meinung nach keine gute Lösung. shiftlt , erwähnt in Wilfred Springers Antwort , hält das Fenster maximiert, daher scheint es mir die beste Lösung zu sein
Spectacle wird nicht mehr gewartet – schauen Sie sich stattdessen die Rectangle App an, den Ersatz, den ihr Team empfiehlt: apple.stackexchange.com/a/379697/359074
Spectacle funktioniert auf Catalina, aber wenn ein Fenster maximiert ist, wird es nicht auf einen anderen Bildschirm verschoben. Also muss ich sowieso die Maus benutzen, um es zu tun :(
Für mich scheinen bei Verwendung von Rectangle die "Nächste Anzeige" und die "Vorherige Anzeige" deaktiviert zu sein (im Dropdown-Menü ausgegraut). Andere Shortcuts funktionieren einwandfrei. Irgendwelche Hinweise warum? Danke im Voraus.
Rechteck ist für mich ein No Go. Es verschiebt Fenster nicht von einem Monitor auf einen anderen rechts, noch ist es in der Lage, es auf den nächsten Desktop zu verschieben.

Es gibt noch eine weitere Option, die völlig kostenlos ist und keine Drittanbieter-App erfordert. Beachten Sie, dass ich dies nur auf der neuesten Version von MacOS Catalina getestet habe (ab sofort). Informationen zu anderen Betriebssystemversionen finden Sie unter Tastaturkürzel für Apps auf dem Mac erstellen

  1. Gehen Sie zu den Systemeinstellungen
  2. Wählen Sie Tastatur und dann die Registerkarte Verknüpfungen
  3. Wählen Sie dann in der angezeigten Liste App-Verknüpfungen aus
  4. Fügen Sie neue Verknüpfungen wie folgt hinzu:
    • Klicken Sie auf das Pluszeichen, um ein neues hinzuzufügen. Das Feld „Menütitel“ muss genau mit dem Text übereinstimmen, der in jeder Anwendung im Menü „Fenster“ angezeigt wird: „Auf ANZEIGENAME verschieben“ (um den Text zu finden, öffnen Sie einfach das Menü „Fenster“ in einer beliebigen Anwendung )
    • Geben Sie schließlich im Feld Tastaturkürzel das Tastaturkürzel ein, das Sie verwenden möchten
    • Fügen Sie so viele Verknüpfungen hinzu, wie Sie benötigen, um ein beliebiges Fenster zwischen Ihren Displays zu verschieben!

Geben Sie hier die Bildbeschreibung ein

Dies sollte die neue richtige Antwort sein. Beachten Sie auch, dass bei mehreren Monitoren derselben Marke und desselben Modells zwischen ihnen umgeschaltet wird, sodass Sie nur eine Verknüpfung für beide/alle Bildschirme benötigen
funktioniert wie ein Zauber, das sollte die richtige Antwort sein. volni
Yay! Ich spiele gerade mit meinen Fenstern hin und her :D Joy! Danke! Definitiv die richtige Antwort.
@AtomRiot Ich stimme respektvoll nicht zu. Obwohl es eine nette Option ist, funktioniert es nicht gut für mehrere Monitore (das Verschieben eines Fensters auf den "richtigen" Monitor ist in BTT nützlich). Außerdem verschiebt dies das Fenster an eine seltsame Stelle auf dem Monitor. BTT kann das Fenster sowohl auf dem anderen Monitor zentrieren als auch auf dem anderen Monitor als Vollbild anzeigen, was beides nützliche Optionen sind.
system_profiler SPDisplaysDataTypeFür externe Monitore listet dieser Befehl Displays auf (nach der GPU, an die es angeschlossen ist).
"Zum eingebauten Retina-Display verschieben" für einfaches Kopieren und Einfügen
Ich stimme @SkeletonBow zu - BTT ermöglicht es Ihnen, zwischen einer beliebigen Anzahl von Monitoren mit beliebigen Namen zu wechseln, ohne die jeweiligen Befehle aktualisieren zu müssen. Der einzige kleine Nachteil der BTT-Technik ist, dass sie das Fenster nicht animiert bewegt.
Brillant! Klicken Sie im Menü einer beliebigen App auf „Fenster“, verschieben Sie die App auf jedes Display, suchen Sie beispielsweise nach „Auf integriertes Retina-Display verschieben“ (wie oben) oder „Auf C27F390 verschieben“.
Leider funktioniert dies nur für Apps, die eine Menüoption "Fenster → Verschieben" haben. Nicht so bequem wie die MS Windows "Windows-Taste + Umschalt + Rechtspfeil".
Diese Lösung funktioniert einwandfrei. Ich habe zwei Verknüpfungen wie in MS Windows konfiguriert: CMD + Swift + Pfeil nach links/rechts.
Woher wussten Sie, dass das funktionieren würde? Durch welches Designmuster von Apple hast du das herausgefunden?
Es funktioniert nicht für mich. Ich verwende Mojave
funktioniert nicht, wenn das Fenster maximiert ist.
Dies funktioniert gut für nicht maximierte Fenster (wenn es bei Ihnen nicht funktioniert, versuchen Sie, die Tastatureinstellungen zu schließen, damit der Hotkey wirksam wird). Es funktioniert nicht für maximierte Fenster, da die Optionen "Fenster > Verschieben nach ..." deaktiviert sind. [11.6 Big Sur]
Danke schön! und ja! Ich spiele jetzt auch mit meinen Fenstern ;'DD Es funktioniert für meine maximierten Fenster (11.6 Big Sur). Funktioniert NICHT für VOLLBILD-Fenster. (Maximieren unterscheidet sich vom Vollbildmodus auf dem Mac). Sie können Fenster maximieren, ohne in den Vollbildmodus zu wechseln: Doppelklicken Sie auf die Symbolleiste (obere Leiste) eines beliebigen Fensters. Ich habe Opt+Ctrl+UP, Opt+Ctrl+DOWN verwendet (meine Bildschirme sind vertikal angeordnet).
Definitiv die richtige Antwort. Und Apps von Drittanbietern (wie Magnet) können auch nur nicht maximierte Fenster verschieben; Diese Apps sind nur Wrapper von Funktionen, wie sie nativ in den Systemeinstellungen bereitgestellt werden. Man muss sich nur umschauen.
Ich bin kein Mac-Fan, aber das hat super funktioniert, danke!!
Leider funktioniert es nicht bei gezoomten Fenstern (im Vollbildmodus).

Am Ende habe ich BetterTouchTool verwendet , um dies zu tun. Insgesamt fand ich es am konfigurierbarsten. Hier ist ein Screenshot meiner Konfiguration, wobei Cmd+ Ctrl+ Wein Fenster auf den nächsten Monitor verschiebt.

Wenn Sie ein 3-Monitor-Setup haben (2 externe Monitore und der Mac-Monitor), können Sie das „Fenster zum nächsten Monitor verschieben“ auf der rechten Seite wie folgt einrichten:

  1. Um eine neue Verknüpfung einzurichten, geben Sie als vordefinierte Aktion "Fenster zum nächsten Monitor verschieben" an
  2. Klicken Sie auf „Zusätzliche Aktion anhängen“ und geben Sie erneut „Fenster zum nächsten Monitor verschieben“ als Aktion an
  3. Voila, Sie können jetzt ein Fenster auf den Monitor rechts verschieben (ein bisschen hacky, ich weiß, aber es funktioniert, bis der Entwickler von BTT die App aktualisiert)

BetterTouchTool-Tastaturkonfiguration

Das einzige Manko von BetterTouchTool ist die schlechte Lion-Unterstützung (nicht alle Funktionen sind verfügbar), aber es ist als Alpha-Version verfügbar. Diese spezielle Tastenkombination sollte in Lion mit der stabilen Version funktionieren, denke ich.

Oh, und es ist Freeware.
Ich habe Moom losgeworden (fast keine Testklicks mehr) und benutze es jetzt BTT. Ich habe das Gefühl, dass BTT abgespeckt und aufpoliert werden kann, aber es verschiebt Fenster kostenlos von einem Monitor auf einen anderen, also kann ich mich nicht beschweren.
Es ist jetzt keine Freeware. Spendenartikel.
Soweit ich das beurteilen konnte, ist BTT nicht mehr kostenlos (es gibt jedoch eine kostenlose Testversion).
Es ist 2019, diese Antwort schlug eine kommerzielle Lösung vor, verwenden Sie das andere A'er, wenn Sie lieber nicht für eine App bezahlen müssen, um etwas zu tun, das das Betriebssystem testen sollte. kostenlos für Sie tun.
Heh, toller Trick mit dem zweimaligen Bewegen des Fensters. <3

Sehen Sie sich die Rectangle-App an . Es ist kostenlos, Open Source und wird als spiritueller Nachfolger des einst brillanten (aber leider nicht mehr gepflegten) Spectacle in Rechnung gestellt.

Sie können die Rectangle App entweder über ihre Website oder mit Homebrew installieren:brew install --cask rectangle

Geben Sie hier die Bildbeschreibung ein

Tolles Werkzeug. Genau das, wonach ich gesucht habe.

Mumm kann das. Es ist nicht kostenlos , aber Moom ist eine fantastische Fensterverwaltungs-App. Sie können Tastaturkürzel für eine Vielzahl von Fensterbewegungen zuweisen (einschließlich des Wechsels zu einer anderen Anzeige) und erhalten eine Überlagerung der OS X-Standardfenstersteuerung.

Hier sind einige Screenshots :

Mausnutzung Tastaturbenutzung

Hier ist eine Liste von Fensterverwaltungs-Apps aus einem anderen AskDifferent-Beitrag: Welche Fensterverwaltungsoptionen gibt es für OS X? . Die einzige kostenlose Option ist Shiftit , und ich bin mir nicht sicher, ob sie die von Ihnen gesuchte Funktionalität bietet.

+1 für Mumm. Vor ein paar Monaten entdeckt, ich liebe es. Tolles Preis-Leistungs-Verhältnis für nur 5 $.
Ich habe ShiftIt zum Anordnen von Fenstern innerhalb desselben Monitors verwendet. Dafür ist es ein hervorragendes Werkzeug. Es bietet jedoch keine Move-to-other-Display-Funktionalität.
Dann würde ich mir Moom ansehen. Ich weiß, dass Sie eine kostenlose App wollten, aber sie ist im Vergleich zu vielen anderen Mac-Fenstermanagern recht günstig. Außerdem ist das Overlay, das sie für die Schaltflächen Schließen/Min/Maximieren entworfen haben, so schick, dass sie die 5 US-Dollar verdient haben. :)
@ArtemShnayder stimmt nicht mehr, Version 1.6, die dieses Jahr veröffentlicht wurde, unterstützt es jetzt; Sehen Sie sich die Antwort von @WilfredSpringer an

Ich wollte nur erwähnen, dass es eine Einstellung System Preferences > Mission Controlnamens "Fenster nach Anwendung gruppieren" gibt, die die App-Symbole anzeigt und es Ihnen ermöglicht, das Symbol auf einen anderen Desktop / Monitor zu ziehen. Es ist erstaunlich für Apps mit mehr als 10 Fenstern.

Dies scheint jedoch nur zu funktionieren, wenn sich alle Fenster bereits auf demselben Raum befinden (nicht, wenn sie auf Räume verteilt sind).

macOS Big Sur hat dafür ein integriertes Tool. Drücken/klicken Sie eine Sekunde lang auf die grüne Schaltfläche über einem Fenster, um ein Dropdown-Menü mit Optionen für die aktuellen Fenster zu erhalten.

Geben Sie hier die Bildbeschreibung ein

Dafür gibt es aber keine Tastenkombination, oder?
Ja, aber ich denke, es lohnt sich darauf hinzuweisen, dass dieses Fenster, das zu einer anderen Anzeigesache wechselt, jetzt im Betriebssystem gebacken wird
Es ist kein Big Sur Specific, es gibt es schon seit ein paar früheren Versionen.
Gibt es eine Möglichkeit, dies zu tun, ohne dass die Maus auf einem Display verwendet wird? Ich habe gerade mein MacBook-Display geknackt und versuche, Fenster von dort auf einen externen Monitor zu verschieben, um etwas Arbeit zu sparen, kann aber nicht genau sehen, was ich tue.
Tatsächlich sieht es so aus, als ob Sie im Dock mit der rechten Maustaste auf eine App klicken und dann Options, dann Desktop on Display 1oder Desktop on Display 2usw. auswählen können.

Ich benutze ShiftIt seit Ewigkeiten.

Ich dachte jedoch, dass es den Umgang mit mehreren Displays nicht unterstützt, also begann ich, nach Alternativen zu suchen. Ich habe Spectacle installiert und die Tastenbelegung so geändert, dass sie mit ShiftIt identisch ist.

Als ich dann ShiftIt deinstallieren wollte, fand ich heraus, dass es tatsächlich das Verschieben von Fenstern auf verschiedene Bildschirme unterstützt, indem ich Folgendes verwendete:CtrlOptionCommandN

Also habe ich Spectacles deinstalliert; immer noch ein glücklicher ShiftIt-Benutzer.

Standard für mich war Strg+Wahl+Befehl+Leertaste
Dies sollte die richtige Antwort sein. Es klappt.
Wenn das Fenster maximiert ist, wird es von shiftlt im Gegensatz zu spectacle in der nächsten Anzeige maximiert bleiben . Beste Lösung IMO :)
ShiftIt hat gewonnen! Spectacle kann das Zoomen eines Fensters nicht aufheben. Es hat eine Option namens Fullscreen, die eigentlich nicht der Vollbildmodus (Zoom) von MacOS ist, sondern maximiert. Und wenn sich ein Fenster im Vollbildmodus (gezoomt) befindet, kann Spatacle es überhaupt nicht steuern. Aber ShiftIt kann es entzoomen und dann auf ein anderes Display verschieben.

Zu Ihrer Information, Magnet, die beliebte Anwendung zur Platzierung und Größenbestimmung von Fenstern, verfügt über die Verknüpfungen „Nächste Anzeige“ und „Vorherige Anzeige“ direkt aus der Box, zumindest in Version 2.1 (14. Februar 2017).

Magnet im Mac App Store

Webseite von Magnet

Magnet ist schön. Wenn sie nur ein schöneres Menüleistensymbol hätten, wäre es perfekt.

BetterSnapTool hat auch diese Funktion (als Abkürzung). Ich denke, es war eine kostenlose App, und es war großartig.

Es gibt eine Verknüpfung, mit der Sie das Fenster im nächsten Bildschirm maximieren können (neben anderen Verknüpfungen oder Möglichkeiten, dies zu tun). Sehen Sie sich den Screenshot der zugehörigen Verknüpfungen an.

Geben Sie hier die Bildbeschreibung ein

wünschte, sie hätten auch "Vollbild auf dem nächsten Monitor"!
Es heißt BetterTouchTool, die kostenlose Version, und die Option befindet sich unter Fenstergröße ändern und verschieben
Soweit ich das beurteilen konnte, ist BTT nicht mehr kostenlos (es gibt jedoch eine kostenlose Testversion).
BTT ist nicht mehr kostenlos
Ich würde Spectacle zu dieser Liste hinzufügen.

Aufbauend auf der obigen Antwort mit nativen Mac-Steuerelementen. Es gibt einen Menüpunkt, mit dem Sie Apps zwischen Bildschirmen verschieben können. Es hat jedoch keine Tastenkombination, wonach ich gesucht habe. Aber es gibt Hoffnung! Mithilfe von Tastenkombinationen können Sie Ihre eigenen Verknüpfungen erstellen, um Fenster zwischen Bildschirmen zu verschieben. Hier ist wie:

Suchen Sie den Namen des Menüpunkts, für den Sie eine Verknüpfung erstellen möchten: Klicken Sie in einer beliebigen Anwendung auf „Fenster“ und suchen Sie nach einem Menüpunkt mit der Aufschrift „Verschieben nach“.

Erstellen Sie dazu eine Tastenkombination: Öffnen Sie die Tastatureinstellungen (Systemeinstellungen -> Tastatur). Wählen Sie „App-Verknüpfungen“. Klicken Sie auf +, um eine neue Verknüpfung zu erstellen. Stellen Sie die Anwendung auf „Alle Anwendungen“ ein. Stellen Sie den Menütitel auf genau den oben gefundenen Wortlaut des Menüeintrags ein. Stellen Sie die Tastenkombination ein, die Sie verwenden möchten

Wenn Sie dies erfolgreich getan haben, sollten Sie jetzt die Verknüpfung neben dem Menüelement sehen und das Fenster mit Ihrer Tastatur auf den anderen Bildschirm verschieben.

HINWEISE: Sie müssen die obigen Schritte ausführen, um eine Verknüpfung für jeden Bildschirm zu erstellen, den Sie haben. Um die Bildschirmnamen zu erhalten, müssen Sie Anwendungen auf die einzelnen Bildschirme verschieben und sehen, wie sich das Menüelement ändert, und dann eine Verknüpfung für diesen Bildschirm erstellen.

Als ich das zum ersten Mal tat, funktionierte die Verknüpfung nicht. Ich vermute, ich habe eine Tastenkombination gewählt, die bereits woanders verwendet wurde. Ich habe dies behoben, indem ich die Befehls-, Wahl- und Steuerungstasten als Teil der Verknüpfung verwendet habe

Dies funktioniert für fast jede App, die ich habe, aber eine App unterstützt dies nicht, weil sie den Menüpunkt nicht hat

Dies sollte die ausgewählte Antwort sein, funktioniert perfekt!
Was meinst du mit "die Antwort oben"? Die Reihenfolge, in der die Antworten angezeigt werden, kann sich basierend auf dem gewählten Sortiermechanismus ändern, die Abstimmungen über die Antworten selbst ändern sich und es kommen neue Antworten hinzu. Im Allgemeinen sollten Antworten für sich allein stehen; Wenn Sie sich auf eine andere Antwort beziehen, sollten Sie die relevanten Teile dieser Antwort in Ihrer eigenen Antwort zusammenfassen/zitieren, falls diese Antwort bearbeitet, gelöscht oder verschoben wird.
Dies funktioniert, aber aus irgendeinem Grund nicht mit Firefox unter macOS 13 (und selbst wenn es beispielsweise mit Chrome funktioniert, scheint es fehlerhaft zu sein, wahrscheinlich ein Ventura-Problem).

Wenn Sie keine Software von Drittanbietern installieren möchten, können Sie das aktuelle Fenster auf einen beliebigen Monitor umschalten, indem Sie in das folgende Menü gehen

Fenster -> Wählen Sie den Monitor-/Anzeigenamen aus

Wenn das Menü nicht aktiviert ist, klicken Sie auf die grüne Schaltfläche Geben Sie hier die Bildbeschreibung ein, um den Vollbildmodus zu verlassen und das folgende Menü zu aktivieren, und klicken Sie dann auf

Fenster -> Wählen Sie den Monitor-/Anzeigenamen aus

Auch nachdem Sie den Vollbildmodus verlassen haben, können Sie, wenn Sie mit der Maus über die grüne Schaltfläche fahren, ein Popup mit der Option "Zum gewünschten Bildschirm verschieben" erhalten, klicken Sie darauf, um es zum gewünschten Bildschirm zu verschieben.

Geben Sie hier die Bildbeschreibung ein

Hoffe das hilft

Dies muss die offizielle Antwort sein, da dies am einfachsten ist.
@UpulDoluweera Dies kann nicht die offizielle Antwort sein, da es sich nicht um eine Tastenkombination handelt. Die Frage bezog sich nur auf Tastaturkürzel. Aber immer noch nützlich.

Diese Open-Source-App ist einfach zu bedienen und kostenlos. Es wird erreichen, was Sie brauchen.

https://www.spectacleapp.com/

Inspiriert von der Antwort von Wellington Felix , mit der gleichen Einschränkung , dass es nur für Apps funktioniert, die über die Option „Fenster → Verschieben“ verfügen.

  1. Hilfemenü aktivieren:Shift/
  2. Suchen nachMove to <display name>
  3. Enter

oder

  1. Hilfemenü aktivieren:Shift/
  2. Gehen Sie zum Fenstermenü:
  3. Mit den Pfeiltasten mund die gewünschte Anzeige auswählen
  4. Enter

Dies kann auch mit dem kostenlosen Open-Source-Kachelfenstermanager Amethyst mit der Verknüpfung „Fokussiertes Fenster auf Bildschirm (gegen) den Uhrzeigersinn tauschen“ erfolgen.

Geben Sie hier die Bildbeschreibung ein

Es gibt ein Tool für fortgeschrittene Benutzer namens Hammerspoon . Damit können Sie viele Dinge erreichen, und wie diese Antwort auf eine Frage zu StackOverflow zeigte, ist es ziemlich einfach, mit einer einfachen Hammerspoon-Konfiguration das zu erreichen, was Sie wollen.

Hammerspoon ist nicht gerade eine App, aber für einige Benutzer könnte es dennoch interessant sein.

-- From https://stackoverflow.com/a/58662204
hs.hotkey.bind({'alt', 'ctrl', 'cmd'}, 'n', function()
  -- Get the focused window
  local win = hs.window.focusedWindow()
  -- Get the screen where the focused window is displayed, a.k.a. current screen
  local screen = win:screen()
  -- Compute the unitRect of the focused window relative to the current screen
  -- and move the window to the next screen setting the same unitRect 
  win:move(win:frame():toUnitRect(screen:frame()), screen:next(), true, 0)
end)