MacOS - Produktivität steigern mit einem Tiling Window Manager à la i3 oder xmonad

MacOS – Produktivität steigern mit einem Tiling Window Manager

Avatar von Hendrik Schaeidt

Wer kennt es nicht: Als Software-Entwickler lerne ich ein neues Tool oder eine neue IDE kennen, die oder das mir das Leben vereinfachen kann und mir mehr Produktivität verspricht …

Der springende Punkt, um weniger Zeit an der Maus und mehr Zeit an der Tastatur und damit mit dem Programmieren zu verbringen, ist immer der selbe: lerne deine Tastaturkürzel. Wäre da nicht eine Kleinigkeit …

Grenzen des Betriebssystems

Das ist ja schön und gut. Aber wie viel Zeit verbringe ich damit, zwei Fenster auf meinem Desktop zu resizen, um zum Beispiel links die IDE zu haben und rechts das Browserfenster meiner Webapplikation? Es mag ja sein dass gewisse Applikationen im Vollbildmodus den sogenannten Split View unterstützen – und das ist auch ein guter Einstiegspunkt.

Aber als jemand der den i3 Window Manager kennt, reicht mir das nicht. Ich verbringe immer noch viel zu viel Zeit an meiner Maus, um mal die IDE größer zu ziehen und dann wieder – nach meiner Codeänderung – den Browser.

Wie können wir das besser machen?

Was ist ein Tiling Window Manager?

Hier treffen zwei interessante Begriffe aufeinander: Tiling und Window Manager. An sich handelt es sich hier um zwei lose Technologien, die mich aber vereint unglaublich glücklich machen können.

Bei Tiling handelt es sich in der Fachsprache um die kachelartige Anordnung von Fenstern ohne Überlappungen. Das heißt, jedem Fenster wird ein exklusiver Raum, von dem auf dem Monitor verfügbaren, zugeteilt. Ein weiteres Fenster hat keine Möglichkeit mit einem bereits angezeigten Fenstern zu kollidieren. Wird ein Fenster größer, werden die anderen automatisch kleiner. Also so ähnlich wie bei der vorherig angesprochenen Split View in MacOS.

Unter Window Manager versteht man kurz gesagt den Teil, der sich um alles andere kümmert: Anzeige, Minimieren und oder Vergrößern von Fenstern. Unter Linux ist das das gängige X Window System, für das es auch Implementierungen für MacOS gibt (XQuartz, bzw dessen Nachfolger: Wayland).

Verschwenden wir hier an der Stelle jedoch keine weitere Zeit damit, denn unter unserem Apfel sind wir hart an das gekoppelt, was uns Apple gibt: Also kein X und kein Wayland, sondern eine proprietäre Eigenimplementierung.

Cool, das ist ja alles sehr nice, aber wie hilft mir das jetzt bei meinem Problem weiter?

Und … Action!!11elf

Nun ja, noch nicht ganz. Einen kurzen Paragraph über die Limitierungen von MacOS braucht es vorher noch. Oder auch nicht … Das sehen wir dann, wenn es soweit ist.

Magnet – Zum Durchstarten ohne Nachzudenken

Es gibt unzählige Apps im App Store, die genau dieses Problem zu lösen versuchen. Darunter zähle ich vor allem den Kandidaten Magnet.

Magnet scheint mir eine super Einsteigerlösung für diejenigen zu sein, die nicht viel mehr machen wollen als einen Desktop-Space aufzuräumen. Magnet ist im App Store und somit von Apple abgesegnet; was bedeutet, dass es keine privaten MacOS-APIs verwendet. Damit bleibt das System untampered, dafür aber der Geldbeutel nicht.

Und ja, es kann auch nicht viel.

Amethyst – Der Alleskönner à la xmonad

Inspiriert von den xmonad-Keybindings, bringt Amethyst die Funktionalität von Magnet mit. Zusätzlich bietet es Gimmicks, wie zum Beispiel per Tastaturkürzel Fenster von einem Desktop-Space auf einen anderen zu verschieben oder sogar gezielt auf einen Monitor zu “werfen”. Amethyst unterstützt sogar bis zu 4 Monitore. Ansonsten ist das Feature-Set ähnlich zu Magnet, in diesem Fall aber kostenlos und Open Source!

yabai – Wer nicht genug kriegt

Erst vor kurzem für mich entdeckt, stemple ich yabai als das Brecheisen unter den MacOS Window Managern ab. Denn ja, um das volle Potential auszuschöpfen, müssen einige Features des Systemintegritätsschutzes – SIP deaktiviert werden. Und hier scheint yabai in seiner vollen Pracht:

Dieser Window Manager ist hoch anpassbar – und besitzt daher leider auch die höchste Einstiegshürde. Er lässt sich natürlich auch mit eingeschaltenem SIP benutzen, doch da gehen leider alle schönen Features verloren, wie beispielsweise:

  • Keine Animationen bei Space wechseln/erstellen/löschen
  • Spaces per Keyboard-Shortcut nach links – rechts oder ein anderes Display zu verschieben
  • Fenster-Transparenz
  • Picture-in-Picture für jedes Fenster
  • und viele mehr

yabai alleine zu installieren, gibt einem in Vergleich zu den beiden anderen Window Managern noch kein vollständig lauffähiges System. Nach der Installation hat man nur das cli-Tool installiert, um all die schönen Dinge machen zu können.

Wie es der Zufall aber will, gibt es vom gleichen Creator auch einen Hotkey-Daemon namens skhd, mit dem man seine Key-Mappings im Nu anlegen kann.

Auch hat yabai keine Standardkonfiguration; daher ist ein guter Startpunkt, sich an vorhandenen Konfigurationsdateien zu orientieren. Also hier gleich noch ein paar Links zum schnellen Durchstarten:

Weitere Ressourcen

Wer jetzt noch nicht genug hat, für den gibt es jetzt noch einen kurzen Abschnitt mit weiteren Ressourcen, um weniger Zeit an der Maus und mehr Zeit an der Tastatur zu verbringen.

Lerne deine Betriebssystem-Shortcuts

Gerade unter MacOS ist es relativ einfach, unbekannte Tastaturkürzel für eine Applikation kennenzulernen.

In der Menüleiste klicke ich auf Hilfe und suche nach dem Befehl, den ich ausführen möchte. Das Betriebssystem filtert dann die verfügbaren Punkte in der Menüleiste nach meinem Suchbegriff; ich weiß ab jetzt wo er sich befindet – und rechts daneben steht, welchen Tastaturkürzel ich statt der manuellen Navigation benutzen kann.

IDE-Shortcuts lernen

Auf IntelliJ basierte IDEs haben zum Beispiel ein interaktives Plugin, dass diesen Prozess spielerisch vereinfacht: Key Promoter X

Für jede gängige IDE gibt es vim-Keybinding-Plugins, um die Notwendigkeit der Maus-Interaktion immer weiter zu reduzieren. Für Visual Studio Code gibt es hierfür auch eine sehr gelungene interaktive Extension, die den Prozess des Lernens von vim-Keybinding deutlich vereinfacht: Learn Vim

Browser Shortcuts

Auch im Browser braucht man nicht zwingenderweise die Maus. Für alle die vim-Tastaturkürzel kennen, gibt es hervorragende Alternativen, um komplett ohne Maus auch im Browser auszukommen. Hier ist nur eine kleine Auswahl von vielen möglichen Browsern und Add-Ons:

Und jetzt ist es an der Zeit, die Maus zur Seite zu legen.

Avatar von Hendrik Schaeidt

Kommentare

5 Antworten zu „MacOS – Produktivität steigern mit einem Tiling Window Manager“

  1. Danke für die Übersicht und Erklärung. Yabai kannte ich noch nicht, und mag auch keine Tools / Apps, für die ich SIP ausschalten muss. Ich persönlich habe sehr lange https://rectangleapp.com/ (Open Source) genutzt und bin derweilen auf die Pro-Variante (Kostenpflichtig) umgestiegen.

  2. Avatar von Stefan

    hi!
    top! danke!
    ärgerlich, wenn die Firma nur Macs und Windows erlaubt und auch kein Ausschalten von SIP zulässt…
    was ist die Alternative zu „Spaces per Keyboard-Shortcut nach links – rechts oder ein anderes Display zu verschieben“? Alle Fenster/Programme einzeln verschieben? :(

    1. Hallo Stefan,
      wann und wie willst Du alle Applikationen & Fenster von einem Space zu einem anderen verschieben? Bei mir sind die Inhalte der Spaces eigentlich immer fest definiert.

    2. Hallo! Wenn dein Window-Manager keine eigenen Shortcuts dafür hat, kannst du das über das sogenannte „Mission Control“ erledigen. Standardmäßig befindet sich das auf der oder Taste. Alternativ kannst du mich 3 Fingern nach oben swipen, um das Mission Control zu öffnen. Nun kannst du einfach den kompletten virtuellen Desktop, der sich ganz oben in der Leiste befindet, per Drag & Drop auf dein zweites Display ziehen.

      Das funktioniert allerdings nur, wenn du mindestens einen zweiten virtuellen Desktop auf dem Quell-Monitor hast. Im Mission Control kannst du auch einfach per Klick auf das kleine „plus“ oben rechts einen neuen virtuellen Desktop erstellen.

  3. Avatar von Stefan

    ich will sie nicht auf einen anderen space schieben, sondern auf ein anderes display!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert


Für das Handling unseres Newsletters nutzen wir den Dienst HubSpot. Mehr Informationen, insbesondere auch zu Deinem Widerrufsrecht, kannst Du jederzeit unserer Datenschutzerklärung entnehmen.