September 23, 2008

Some people (such as me) have always been annoyed by how you need to use the mouse a lot to make use of your X11 desktop environment. Wouldn’t it be great if you could just control everything using your keyboard? Well, that is what ratpoison allows you to do.

Ratpoison is a minimalist window manager which is similar to GNU screen. It’s called ratpoison because you don’t need to use a “rat” (mouse). It is written in C.

But eventually, the authors got tired of writing in C, as they were implementing many features that resembled Emacs or that were in a Lisp style. As said by the authors:

“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.”

So, being a Lisp fanboy and an Emacs zealot, I decided to give it a try. I wrote down most of the key combos on a sheet of paper which I put on my wall, and I set up StumpWM. I got used to it in about 15 minutes, and after an hour or two I was completely addicted to it. Emacs-like frames, window groups, its being written in Common Lisp (and hence hackable for me), its simple key combo to run/raise Emacs, and of course its allowing me to control my desktop with the keyboard make it the best window manager I’ve ever tried.

If I gladly said “I don't need no stinkin' icons” after setting up Fluxbox, I excitedly thought “I don't need no stinkin' mouse either” after trying out StumpWM.

I really recommend that you try it out. Don’t let the key combos throw you off, you’ll get used to it (although I do recommend that you set up your CapsLock key as an additional (or the only) left Control key.

But hey, why don’t you watch this video?

How to install/start it

  1. Install SBCL, the portable-clx package (called cl-clx-sbcl in Debian), and cl-ppcre.
  2. Download StumpWM.
  3. In the stumpwm directory, run ./configure.
  4. Run make. This should create a stumpwm executable.
  5. In your ˜/.xinitrc file, include the path to the stumpwm executable.
  6. Finally, start X Windows with startx.

Useful links

StumpWM wiki

StumpWM manual