23 February 2009

From Simplifying to Downright Esoteric

Ok, I'd just learned the ropes of Sawfish when I decided to take StumpWM out for a spin. I'm pretty impressed, so far.

StumpWM is a minimalist, tiling window manager with a powerful keyboard interface. It has no window decorations and no mouse control. But what sets it apart from most other window managers is the fact that it's written entirely in Common Lisp. This means almost infinite customisation and scripting possibilities, and, best of all, interactive scripting while the window manager is running! (And yes, this was the main attraction in Sawfish as well, but StumpWM takes it up a notch.)

The Emacs-influenced keyboard interface is indeed powerful, but a little cumbersome for my taste, relying on combinations of several keystrokes. So the first order of business was to set up a few global shortcuts to switch between windows and run my favourite apps. This in itself was almost a trivial matter, but I had a little trouble getting the apple key on my MacBook to function (it's the best key for custom shortcuts as it's not used by any GNU/Linux application by default). After some labour I discovered that using xmodmap to designate it as a hyper key instead of a super key, and binding shortcuts to the hyper key, they suddenly worked.

In Sawfish I spent some time working on a little script in it's Lisp variety to display the track Rhythmbox was currently playing. While it wasn't a difficult task (most of the time was spent on learning things about the language as I'm still not too experienced with Lisp in general, and the particular dialect was entirely new to me), in StumpWM creating a similar feature was almost a trivial matter. As of now, I've pretty much got the same general functionality in StumpWM as I had in Sawfish, but there's still a lot I haven't really delved into, like more powerful use of frames (used for window placement) and groups (aka virtual desktops).

I've used tiling window managers (like wmii) with GNU/Linux before I got my MacBook, so the concept's not new to me. It might take a moment to re-adjust to the paradigm, but on the other hand even on Mac OS X I already mostly kept switching between windows and Spaces with the keyboard. For most of my regular needs (surfing the web, IRC, playing music, writing with Emacs), StumpWM works perfectly. These applications actually work best when they're fullscreen, no unnecessary decorations, title bars or window manager panels to swallow up valuable screen space (particularly as the MacBook's screen isn't incredibly big). I'll have to see what happens when I need to use an app with a very different kind of orientation, like GIMP.

No comments:

Post a Comment