2001 FREENIX Track Technical Program - Abstract
Scwm: An Extensible Constraint-Enabled Window Manager
Greg J. Badros, InfoSpace, Inc.; Jeffrey Nichols, Carnegie Mellon University; and Alan Borning,
University of Washington
Abstract
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.
|