22.05 / 23 May 2022
|Written in||Common Lisp|
StumpWM is a tiling window manager that was created when developer Shawn Betts found ratpoison growing increasingly large and "lispy". Intended as a successor to ratpoison, StumpWM is released under the terms of the GPL-2.0-or-later license.
As explained on the StumpWM wiki, the developers decided to largely re-implement ratpoison in Common Lisp using CLX:
StumpWM grew out of the authors' frustration with writing ratpoison in C. Very quickly we realized we were building into ratpoison lispy-emacs style paradigms. We had a REPL hanging off 'C-t :', hooks, and a growing subset of Common Lisp in the implementation... It was clear what we really wanted was a window manager written in Lisp from the ground up with lots of room for customizing and real-time hacking.
The authors describe StumpWM in the following terms:
StumpWM attempts to be customizable yet visually minimal. There are no window decorations, no icons, and no buttons. It does have various hooks to attach your personal customizations, and variables to tweak.
StumpWM can be run in both Steel Bank Common Lisp (SBCL) and GNU CLISP, with SBCL generally being preferred for better performance. The SLIME environment is commonly used for applying real-time updates and customizations to StumpWM. There is also another program called stumpish ("StumpWM Interactive Shell") that provides a standard way to interface with the window manager from a terminal.
Window manager customizations are stored in a .stumpwmrc file that is found in the home directory of each user. This file contains Lisp code for configuring StumpWM.
StumpWM source code is hosted on GitHub and the version control system used is Git. A mailing list is also available for StumpWM related issues.