IT-Lexikon › Infrastruktur › TinyWM

TinyWM

Infrastruktur Svenska → Aktualisiert: 2026-10-09
Mehr Infos
Hersteller
Nick Welch
Jahr
Typ
Fenstermanager
Lizenz
Gemeinfrei
Quellcode
github.com/mackstann/tinywm

Ein Fenstermanager in rund fünfzig Zeilen C, 2005 geschrieben, um zu zeigen, dass alles, was man zum Verschieben, Skalieren und Anheben von Fenstern in X braucht, auf einen Bildschirm passt.

Nick Welch schrieb TinyWM als Lehrbeispiel und stellte den Code unter Public Domain. Das Programm öffnet das Display, legt passive Grabs auf Alt+F1 sowie auf Alt mit linker und rechter Maustaste im Root-Fenster und tritt in eine Schleife um XNextEvent ein. Alt+F1 hebt das Fenster unter dem Zeiger mit XRaiseWindow an; Alt-Ziehen mit links verschiebt, mit rechts skaliert, per XMoveResizeWindow bei jedem MotionNotify. Das war’s. Kein Reparenting, keine Rahmen, kein ICCCM, keine Fokusverwaltung: Anwendungen bekommen den Fokus, weil X ihn dem Fenster unter dem Zeiger gibt – falls sie überhaupt danach fragen.

Der Wert liegt in dem, was fehlt. Wer den Code liest, sieht, dass ein Fenstermanager im Grunde nur ein Client ist, der den Server gebeten hat, bestimmte Ereignisse an ihn zu leiten, und dass alles, was dwm oder Openbox brauchbar macht, auf diesen drei Grabs aufbaut. Eine Python-Version gleicher Länge liegt bei, und TinyWM wurde seither zum Ausgangspunkt einer langen Reihe von Hobby-Fenstermanagern und zur Standard-Erstübung in Xlib-Tutorials.

← Zurück zum Lexikon