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:
- Beispiel yabairc
- Beispiel skhdrc
- Custom Status Bar (Menüleiste) mit Übersicht
- Beispiel Status Bar: simple-bar
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:
- qutebrowser – Der Keyboard-Browser
- vimium – Die Chrome-Extension mit vim-Bindings
- vimium-ff – Der Firefox-Port von vimium
Und jetzt ist es an der Zeit, die Maus zur Seite zu legen.
Schreibe einen Kommentar