Problem

Bei einem großen Monitor kann man zwar viele (kleine) Fenster nebeneinander anordnen, möchte man jedoch in einem der Fenster arbeiten, bleibt der Griff zur Maus nicht aus, um das Fenster in die Mitte zu ziehen und zu vergrößern. Es gibt zwar die Möglichkeit, es per Tastendruck zu maximieren, jedoch ist es oft so, dass ein maximiertes Fenster (Editor oder Terminal zum Beispiel) zu groß ist. Schön wäre daher eine Möglichkeit, ein Fenster zu wechseln, es dabei zu vergrößern und in die Mitte zu rücken. Beim erneuten Wechsel soll es wieder an den alten Platz gerückt werden und das nächste in die Mitte gezogen werden. Dabei bleibt stets die Übersicht gewahrt.

winresize-Skript

Eine Lösung bietet zum Beispiel dieses Skript. Es befindet sich im Anfangsstadium und setzt die y-Position der Fenster etwas zu tief, es lässt sich jedoch ansonsten gut damit arbeiten. Wie es aussieht, zeigt dieses kurze Video

Benötigte Programme:

 wmctrl
 xprop

Skript installieren:

 $ wget http://www.philipp-bender.de/winresize  
 $ mv winresize ~/bin/winresize
 $ chmod +x ~/bin/winresize
 $ wget http://www.philipp-bender.de/wincycle  
 $ mv winresize ~/bin/wincycle
 $ chmod +x ~/bin/wincycle

Danach ein Terminal aufmachen und Skript testen:

 $ winresize help
 $ winresize restart
 $ winresize front
 $ winresize back

Um wincycle ausführen zu können, muss man noch in

 $ gedit ~/.fluxbox/init

eine Zeile abändern:

 session.screen0.allowRemoteActions:   true

... nun muss man nur noch die Tastenkürzel anpassen:

 $ gedit ~/.fluxbox/keys

Hinzufügen:

 Mod1 r :execCommand winresize restart
 Mod1 b :execCommand winresize back
 Mod1 c :execCommand wincycle

Nun hat man es geschafft: Bei Beginn der Arbeit dückt man Alt+r, macht viele kleine Fenster auf und wechselt mit Alt+c. Möchte man die "alte" Anordnung wie zu Beginn der Arbeit zurückhaben, einfach Alt+b. Ist die Geometrie, auf die die Größe verändert wird, nicht passend, kann man sie im Skript ändern. Einfach

 $ gedit ~/bin/winresize

und in der Zeile

 frontgeom = (0,260,180,1150,760)

die Werte abändern:

 frontgeom = (0,,,,)