USENIX Conference Policies
Scwm: An Extensible Constraint-Enabled Window Manager
We desired a platform for researching advanced window layout paradigms including the use of constraints. Typical window management systems are written entirely in C or C++, complicating extensibility and programmability. Because no existing window manager was well-suited to our goal, we developed the SCWM window manager. In SCWM, only the core window-management primitives are written in C while the rest of the package is implemented in its Guile/Scheme extension language. This architecture, first seen in Emacs, enables programming substantial new features in Scheme and provides a solid infrastructure for constraint-based window layout research and other advanced capabilities such as voice recognition. We have used SCWM to implement an interface to the Cassowary constraint solving toolkit to permit end users to declaratively specify relationships among window positions and sizes. The window manager dynamically maintains those constraints and lets users view and modify them. SCWM succeeds in providing an excellent implementation framework for our research and is practical enough that we rely on it everyday.
author = {Greg J. Badros and Jeffrey Nichols and Alan Borning},
title = {Scwm: An Extensible {Constraint-Enabled} Window Manager},
booktitle = {2001 USENIX Annual Technical Conference (USENIX ATC 01)},
year = {2001},
address = {Boston, MA},
url = {https://www.usenix.org/conference/2001-usenix-annual-technical-conference/scwm-extensible-constraint-enabled-window-manager},
publisher = {USENIX Association},
month = jun
}