Software:Scwm

From HandWiki
Scwm
Scwm-constraints.png
Scwm showing the constraints manager in action
Developer(s)Greg Badros
Maciej Stachowiak
Initial release1997
Stable release
0.99.6.2 / 12 March 2000; 24 years ago (2000-03-12)
Written inGNU Guile
Websitesourceforge.net/projects/scwm/
scwm.mit.edu (Historical)

Scwm or Scheme Constraints Window Manager is a window manager for the X Window System. Its main features are dynamic configurability and programmability via a language based on GNU Guile and the embedded arithmetic Cassowary constraint solver. The primary developers were Greg Badros and Maciej Stachowiak.

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.

Scwm is released under the GNU GPL[2]

References

  1. "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
  2. "SCWM". http://sourceforge.net/projects/scwm/. 
Notes
  • "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; ISBN:1-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.

External links