Léxico TI › Infraestructura › TinyWM

TinyWM

Infraestructura Svenska → Actualizado: 2026-10-09
Más información
Creador
Nick Welch
Año
Tipo
Gestor de ventanas
Licencia
Dominio público
Código fuente
github.com/mackstann/tinywm

Un gestor de ventanas en unas cincuenta líneas de C, escrito en 2005 para demostrar que todo lo necesario para mover, redimensionar y elevar ventanas en X cabe en una pantalla.

Nick Welch escribió TinyWM como ejemplo didáctico y dejó el código en el dominio público. El programa abre el display, toma capturas pasivas de Alt+F1 y de Alt con los botones izquierdo y derecho del ratón sobre la ventana raíz, y entra en un bucle alrededor de XNextEvent. Alt+F1 eleva la ventana bajo el puntero con XRaiseWindow; arrastrar con Alt y el botón izquierdo mueve, y con el derecho redimensiona, mediante XMoveResizeWindow en cada MotionNotify. Eso es todo. Sin reparenting, sin marcos, sin ICCCM, sin gestión del foco: las aplicaciones reciben el foco porque X se lo da a la ventana bajo el puntero, si es que lo piden.

El valor está en lo que falta. Quien lee el código ve que un gestor de ventanas es, en el fondo, un cliente que ha pedido al servidor que le envíe ciertos eventos, y que todo lo que hace utilizables a dwm u Openbox se construye sobre esas tres capturas. Lo acompaña una versión en Python de la misma longitud, y TinyWM ha sido desde entonces el punto de partida de una larga serie de gestores de ventanas aficionados y el primer ejercicio habitual en los tutoriales de Xlib.

← Volver al léxico