Scwm
Más información
- Creador
- Maciej Stachowiak y Greg Badros
- Año
- Tipo
- Gestor de ventanas
- Licencia
- GPL
El Scheme Constraints Window Manager, un gestor de ventanas X11 configurado en Scheme que permitía atar ventanas entre sí mediante restricciones resueltas por un solucionador matemático.
El proyecto nació en 1997 en la Universidad de Washington, donde Maciej Stachowiak y Greg Badros tomaron el código C de FVWM y cambiaron su archivo de configuración por un intérprete Guile embebido. Toda la lógica, desde los atajos de teclado hasta la colocación de ventanas, se escribía en Scheme y podía modificarse en caliente a través de una interfaz de socket, de forma parecida a como Emacs se relaciona con su elisp. Lo insólito era la segunda palabra del nombre. Badros investigaba solucionadores de restricciones, y Scwm permitía afirmar cosas como "esta ventana siempre va a la derecha de aquella" o "estas dos comparten un borde", y el solucionador Cassowary movía las ventanas para que todas las restricciones se cumplieran.
Cassowary, que Badros escribió con Alan Borning, vivió mucho más que el gestor de ventanas: el mismo algoritmo está detrás del Auto Layout de Apple y de varios motores de maquetación web. Stachowiak se fue a Apple y ayudó a fundar WebKit. Scwm se apagó hacia el año 2000, en parte porque GNOME y KDE se impusieron y en parte porque poca gente quería escribir Scheme para mover una ventana. La idea de un gestor de ventanas como lenguaje de programación la continuaron Sawfish, StumpWM y xmonad, ninguno con solucionador de restricciones.