Linux: Fensterteilung à la Windows

Tobias Bauer, , Lesedauer 2 Minuten.

Privat arbeite ich seit einiger Zeit nun ausschließlich mit Linux. Ich mag das System und vermisse eigentlich auch nichts. Beruflich habe ich jedoch auch mit Windows zu tun und arbeite dort auch auf einem Windows PC. Was mir dort besonders gefällt ist das Andocken von Fenstern an den Bildschirmrand.

Die Funktion an sich fand ich so gut, dass ich mich auf die Suche machte, ob ich das nicht auch unter Linux abbilden konnte. Ich verwende Arch Linux mit LXDE und Openbox. Das ist eine gute Grundlage, denn Openbox erlaub schon mal genau das, was ich hier benötige.

Über sogenannte Keybindings in Openbox kann ich Aktionen hinter Tastenkombinationen legen. Damit kann ich dann Fensteraktionen steuern wie die Größe und die Positionen.

Definiert wird das Ganze in der lxde-rc.xml unter ~/.config/openbox/. Bei anderen Distributionen kann die Datei auch rc.xml heißen. Dort fügt man zwischen den Tags [lt]keyboard[gt]...[lt]/keyboard[gt] einfach folgenden Quelltext ein:

<!-- Vertikal -->
<keybind key="C-W-v">
 <action name="UnmaximizeFull"/>
 <action name="MoveResizeTo">
 <width>50%</width>
 </action>
 <action name="MaximizeVert"/>
 <action name="MoveResizeTo">
 <x>0</x>
 <y>0</y>
 </action>
 <action name="NextWindow">
 <interactive>no</interactive>
 <dialog>none</dialog>
 <finalactions>
 <action name="UnmaximizeFull"/>
 <action name="MoveResizeTo">
 <width>50%</width>
 </action>
 <action name="MaximizeVert"/>
 <action name="MoveResizeTo">
 <x>-0</x>
 <y>0</y>
 </action>
 </finalactions>
 </action>
</keybind>

<!-- Horizontal -->
<keybind key="C-W-h">
 <action name="UnmaximizeFull"/>
 <action name="MoveResizeTo">
 <height>50%</height>
 </action>
 <action name="MaximizeHorz"/>
 <action name="MoveResizeTo">
 <x>0</x>
 <y>0</y>
 </action>
 <action name="NextWindow">
 <interactive>no</interactive>
 <dialog>none</dialog>
 <finalactions>
 <action name="UnmaximizeFull"/>
 <action name="MoveResizeTo">
 <height>50%</height>
 </action>
 <action name="MaximizeHorz"/>
 <action name="MoveResizeTo">
 <x>0</x>
 <y>-0</y>
 </action>
 </finalactions>
 </action>
</keybind>

<!-- Fenster wiederherstellen -->
<keybind key="C-W-r">
 <action name="UnmaximizeFull"/>
 <action name="NextWindow">
 <interactive>no</interactive>
 <dialog>none</dialog>
 <finalactions>
 <action name="UnmaximizeFull"/>
 </finalactions>
 </action> 
</keybind>

Nach einem openbox --reconfigure oder dem nächsten Neustart sind die Änderungen aktiv. Diese fügen jetzt folgende Funktionen ein:

  • Windowstaste + Strg + v: Vertikales Teilen
  • Windowstaste + Strg + h: Horizontales Teilen
  • Windowstaste + Strg + r: Originalgröße Wiederherstellen

Um die Positionen der Fenster zu tauschen, einfach auf das inaktive Fenster klicken und noch einmal die Tastenkombination drücken.

Anmerkung

Berücksichtigt werden hiebei immer nur die zwei zuletzt aktiven Fenster!