StumpWM is a tiling, full-screen window manager written entirely in Common Lisp. The successor to the cult classic Ratpoison window manager ("GNU Screen to the power of X"), StumpWM adds all the flexibility and hackability of common lisp, allowing the user to make modifications to the source of the window manager even while it's running.
From the StumpWM homepage:
If you're tired of flipping through themes like channel-surfing, and going from one perfect-except-for-just-one-thing window manager to another even-more-broken-in-some-other-way then perhaps Stumpwm can help.
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.
Want to see it in action? A StumpWM user created a video.
With SBCL (recommended, will run faster)
With Quicklisp (recommended)
- Install SBCL
- pacman -S sbcl
- Get Quicklisp at the Quicklisp website
- Load Quicklisp with SBCL
- sbcl --load quicklisp.lisp
- Install Quicklisp
- Add it to your SBCL init file
- Check for updates of Quicklisp (not needed if you've just downloaded it)
- Check for updates on Quicklisp
- Install CLX and CL-PPCRE
- (ql:quickload "clx")
- (ql:quickload "cl-ppcre")
- Quit SBCL with (quit)
- Get the git version of StumpWM
- Get into the stumpwm folder and start compiling
- cd stumpwm && ./autogen.sh && ./configure && make
- You can optionally run "make install" as root.
- Put the StumpWM binary path into your .xinit and have fun! :)
Optional: Install slime/swank for nonstop real-time hacking:
- Install swank server
- (ql:quickload "swank")
- Install slime-helper
- (ql:quickload "quicklisp-slime-helper")
- Paste the following into your dot-emacs
- (load (expand-file-name "/path/to/slime-helper.el"))
- (setq inferior-lisp-program "sbcl")
- Now put the following into your .stumpwmrc or just eval during your stumpwm-session
- (require 'swank)
- Connect Emacs/Slime to your stumpwm-session using
- M-x slime-connect
- Install SBCL
- pacman -S sbcl
- Install clx from AUR.
- If you really don't want to use a PKGBUILD here, you can also use asdf-install to install clx.
- Install cl-ppcre
- Again, this can be installed with asdf-install if you really don't like PKGBUILDs.
- Install git
- pacman -S git
- Install stumpwm from AUR.
- Alternately, you can check it out directly from the git repo., as described on the [ homepage]. Read the directions and check the StumpWM wiki for compilation instructions.
- Get and create these packages from AUR in the following order making sure to have makepkg install dependencies first (makepkg -s):
- Make sure to install each one (sudo pacman -U name.pkg.tar.gz) before installing the next.
- See the Makepkg article for details on downloading and installing from AUR (compiling/creating package and installing).
Also, look at this post if you run into troubles.
Documentation and Support
If you installed StumpWM by hand or still have the source lying around, there's a TeXInfo manual.
See the wiki for a variety of useful tweaks for your .stumpwmrc.
If you're an emacs user, you'll find an emacs minor mode for editing StumpWM files (and interfacing with the program stumpish, but more on that below) in the contrib/ directory of the StumpWM source. If you're using clisp, this file can also be found in /usr/share/stumpwm/.
stumpish is the STUMP window manager Interactive SHell. It's a program that allows the user to interact with StumpWM while it's running, from the comfort of a terminal (or using the emacs mode). It can be found in the contrib/ directory of the StumpWM source. If you use clisp, this file can also be found in /usr/bin/.