The constraint solver is used to constrain window behavior. For example, one can constrain two windows to have equal height, or to force the distance between two windows to be constant. In real time, the Cassowary constraint solver re-solves the system of equalities and inequalities and applies the new mathematical solution to the on-screen layout, animating windows to their new positions. Other features include flexible GUI-driven customization and per window decoration settings (per window 'themes').
Scwm, like many window managers, began from Fvwm, another highly configurable window manager.[1] Scwm development has been stagnant since 2000 when Badros completed his Ph.D. at the University of Washington; the last updates to the git repository have focused on maintaining compatibility with Guile 2.0.x.
^"To create SCWM, Stachowiak started with the source code for Robert Nation's FVWM window manager and gradually replaced the original home-grown configuration language with Guile." pg 93 of Blandy 1997
"Guile: An Interpreter Core for Complete Applications" by Jim Blandy, pg 87-104 of Handbook of Programming Languages, Volume IV: Functional and Logic Programming Languages, ed. Peter H. Salus. 1998 (1st edition), Macmillan Technical Publishing; ISBN1-57870-011-6
The research was funded in part by both a National Science Foundation Graduate Research Fellowship and the University of Washington Computer Science and Engineering Wilma Bradley fellow-ship for Greg Badros, and in part by NSF Grant No. IIS-9975990.