Scwm or Scheme Constraints Window Manager is a
window manager
A window manager is system software that controls the placement and appearance of window (computing), windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment. They ...
for the
X Window System
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X originated as part of Project Athena at Massachusetts Institute of Technology (MIT) in 1984. The X protocol has been at ...
. Its main features are dynamic configurability and programmability via a language based on
GNU Guile
GNU Ubiquitous Intelligent Language for Extensions (GNU Guile) is the preferred extension language system for the GNU Project and features an implementation of the programming language Scheme. Its first version was released in 1993. In additio ...
and the embedded arithmetic
Cassowary constraint solver
Cassowary is an incremental constraint-solving toolkit that efficiently solves systems of linear equalities and inequalities. Constraints may be either requirements or preferences. Client code specifies the constraints to be maintained, and the s ...
. 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
Cassowary is an incremental constraint-solving toolkit that efficiently solves systems of linear equalities and inequalities. Constraints may be either requirements or preferences. Client code specifies the constraints to be maintained, and the s ...
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
The F Virtual Window Manager (FVWM) is a virtual window manager for the X Window System. Originally a twm derivative, FVWM is now a window manager for Unix-like systems.
History
In 1993, during his work analyzing acoustic signatures for the ...
, another highly configurable window manager. Scwm development has been stagnant since 2000 when Badros completed his Ph.D. at the
University of Washington
The University of Washington (UW and informally U-Dub or U Dub) is a public research university in Seattle, Washington, United States. Founded in 1861, the University of Washington is one of the oldest universities on the West Coast of the Uni ...
; the last updates to the
git
Git () is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively.
Design goals of Git include speed, data integrity, and suppor ...
repository have focused on maintaining compatibility with Guile 2.0.x.
Scwm is released under the
GNU GPL
The GNU General Public Licenses (GNU GPL or simply GPL) are a series of widely used free software licenses, or ''copyleft'' licenses, that guarantee end users the freedom to run, study, share, or modify the software. The GPL was the first ...
References
;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;
* 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
*{{Official website, http://scwm.sourceforge.net
Free X window managers