IT-lexikon › Infrastruktur › TinyWM

TinyWM

Infrastruktur In English → Uppdaterad: 2026-10-09
Mer info
Skapad av
Nick Welch
År
Typ
Fönsterhanterare
Licens
Public domain
Källkod
github.com/mackstann/tinywm

En fönsterhanterare på ett femtiotal rader C, skriven 2005 för att visa att allt som krävs för att flytta, ändra storlek på och lyfta fönster i X får plats på en skärm.

Nick Welch skrev TinyWM som ett undervisningsexempel och lade koden i public domain. Programmet öppnar displayen, tar passiva grepp om Alt+F1 och om Alt tillsammans med vänster och höger musknapp på rotfönstret, och går in i en loop kring XNextEvent. Alt+F1 lyfter fönstret under pekaren med XRaiseWindow; Alt-drag med vänster knapp flyttar och med höger ändrar storlek, via XMoveResizeWindow i varje MotionNotify. Det är allt. Ingen reparenting, inga ramar, ingen ICCCM, ingen fokushantering: program får fokus för att X ger det åt fönstret under pekaren, om de alls ber om det.

Värdet ligger i det som saknas. Den som läser koden ser att en fönsterhanterare i grunden bara är en klient som bett servern skicka vissa händelser till sig, och att allt som gör dwm eller Openbox användbara är påbyggnad på de här tre greppen. En Pythonversion på lika många rader följer med, och TinyWM har sedan dess varit startpunkten för en lång rad hobbyfönsterhanterare och ett stående första läsexempel i Xlib-handledningar.

← Tillbaka till lexikonet