Subject: Window Manager Madness
From: Boris Kraut <[email-masked]>
To: undisclosed-recipients: ;
Date: Sat, 02 Oct 2010 01:17:47 +0200

Die meisten werden ja wissen, dass ich eigentlich vom Konzept
her eher auf Tiling WMs stehe. Der Grund dafuer ist, dass man
sie viel einfacher so konfigurieren kann, dass sie wirklich 
ihrem Namen gerecht werden. Die Aufgabe von WMs ist es, mir 
Arbeit abzunehmen. Wenn ein Programm startet sollen sie in 
meinen Einstellungen bzw. -- hier passt das sehr gut -- meinen
Vorlieben nachschauen und die eventuell aufpoppenden Fenster
entsprechend anordnen. Fensterdekorationen, Menueleisten und
aehnliches sind eigentliche Dinge, die nicht zu den primaeren
Aufgaben gehoeren.

Nun, die Crux ist leider, dass viele Programme so geschrieben
sind, dass sie eine ganz spezielle WM-Philosophie vorraussetzen,
um gut bedienbar zu sein. So dass ich schon seit einiger Zeit
auf Floating WMs arbeite - am Anfang war es OpenBox [1] (XML-Hell),
inzwischen nutze ich das, was mir das jeweilige System standard-
maessig vorsetzt, denn dank wmctrl [2] und areawm [3] kann ich
die meisten standardkompatiblen Floating WMs mir relativ gut
anpassen, ohne auf kaputte, aber benoetigte Programme verzichten
zu muessen.

Exkurs: Ich habe ewig ueber den WM von Windows gescholten und er
        ist immer noch grottig, aber es gab zwei positive Dinge,
	die ich nicht unerwaehnt lassen will. 

	Zum einen kamen mit den PowerToys fuer Windows XP virtuelle
	Desktops hinzu, die sich mit [WIN] + [1-4] auswaehlen liessen,
	zum anderen wurde in Windows 7 endlich der Verbreitung von
	WideScreen-Bildschirmen Rechnung getragen. Man kann nun
	endlich nicht nur auf den ganzen Bildschirm maximieren,
	sondern auch auf die Haelfte. Ich war selbst lange Zeit ein
	Full-Screen-Nutzer, das is nicht per se schlecht, denn
	zumindest ich kann mich so wieso meist nur auf eine Sache
	richtig konzentrieren, aber auf grossen Bildschrimen
	verschwendet man einfach seh viel Platz, z.B. beim Browser:
	Die meisten Websiten sind ja leider auf eine feste Pixelzahl
	optimiert, aber selbst wenn nicht, faellt es einem leichter
	Texte in Spalten zu lesen, als eine durchgaengige Reihe.

Schon vor einiger Zeit bin ich ueber tinywm [4] gestolpert, ein
minimaler WM, der eher als Lehrobjekt dient. Eigentlich hatte ich
seit damals vor auf dessen Basis mal etwas eigenes zu schreiben,
aber ich bin einfach nicht dazu gekommen.

Nun hat Michael Cardell Widerkrantz aka MC mir diese Arbeit fast 
abgenommen, auch wenn er nicht auf tinywm aufbaut, sich aber dort 
ein paar Zeilen abgeschaut hat. MC's WM oder mcwm [5] ist sehr
spartanisch, bietet aber schon realtiv viele Features, die mir
wichtig sind.

Es ist ein Floating WM, der aber ueber einige Shortcuts direkt die
Eigenschaften der Fenster veraendern kann. Um das Dekorationen
kuemmert er sich abgesehen von einem einfarbigen Rahmen nicht und
die Konfiguration erfolgt -- sofern man es nicht ueber die
Kommandozeile einstellt -- direkt im Quellcode. Letzteres ist aber
nicht schlimm, denn viele Codezeilen sind es nicht. Eigentlich finde
ich das sogar richtig gut, denn sobald man sieht, wie wenig Code
das ist, nimmt man sich die Zeit und veraendert nicht nur seine
Einstellungen, sondern liest sich den Code mal eben schnell durch.

Das sollte eigentlich bei OpenSource viel haeufiger der Fall sein,
aber sich grosse Projekte zuerlsen, macht meist nicht viel Spass,
aber so kleine Projekte oder einzelne Tools, die machen einfach Lust
sich das Mal anzuschauen. Und dann sieht man vielleicht das ein oder
andere, was man verbessern kann und schreibt dann viel eher kleine
Patches. Ich schweife ab...

Nun, mcwm macht Spass, aber er ist weit davon entfernt perfekt zu
sein, Code ist wenig, aber gewinnt auch keinen Wettbewerb. Trotzdem
werde ich probieren ihn mal als Haupt-WM einzusetzen, aber dabei
bleiben werde ich wohl nicht. Da bieten mir grosse WMs samt wmctrl
einfach deutlich mehr... aber... hm... mehr brauch ich eigentlich
nicht.. Ihr seht, ich bin noch unentschieden :)

[1] http://openbox.org/
[2] http://tomas.styblo.name/wmctrl/
[3] http://deifl.modprobe.de/wiki/areawm/areawm-en
[4] http://incise.org/tinywm.html
[5] http://hack.org/mc/hacks/mcwm/