(Nearly) Mouse-free Linux with StumpWM, Emacs, and Conkeror
Friday, January 8th, 2010First off I have nothing against the mouse But to quote a conkeror dev…
<retroj> i just find it appalling that most software has this built in assumption that people will operate it by fishing
around on the screen for “virtual buttons”
…
<retroj> when there are 101 real buttons on virtually every computer that are easier to “fish around for”
….
<retroj> the mouse is not a bad input device. it’s only bad to use it as the *only* input device
So, how can we make more effecive use of these real buttons? The process is fairly simple.
Keyboard-Driven Text Editing
If you’re a programmer, you probably spend most of your day writing code. Since writing code is just editing text, it makes sense that the first place to start making better use of the keyboard is in the applications you spend most of your day in. The two most well known text editors of this type are vim and Emacs. I use Emacs, but use whatever you prefer. I recommend you give Emacs a try, though, as it’s very customizable. (You could run everything you need inside of Emacs and, in fact, you can run it directly on top of the Linux kernel. I don’t but there you are.)
Keyboard-Driven Web Browsing
The next major step is to find a keyboard-driven web browser that you like. You can, of course, use Emacs for this, but the browsers inside of Emacs itself offer no support for media like Flash. The two major alternatives are Vimperator and Conkeror. Vimperator is, obviously, written to be similar to vim and Conkeror is quite similar to Emacs. I’ve never used Vimperator so I can’t say how well it works, but many vimmers seem to like it. Conkeror is a Mozilla-based browser written in JavaScript. It’s fairly straight forward to customize and the community (in #conkeror on freenode), while small, is active and helpful and (dare I say it) fun!
Keyboard-Driven Window Management
This is a pretty major step. So far we’ve only changed two apps, but a keyboard-driven window manager will affect every app. The most popular window managers of this type appear to be tiling window managers, though they are not by any means the only ones, nor are all tiling window mangers keyboard-driven. I’ve been using StumpWM for a few weeks and have been very happy with the results. It’s written in Common Lisp which it uses for configuration. It’s pretty cool to be able to hack on your wm, re-eval, and go. It works very well with Emacs and Conkeror. By default it uses C-t as a prefix for management controls. Here are a couple of cool screenshots. There is also a great screencast (also on YouTube for the .ogg challenged).
Nearly?
Ok, so why did I say “nearly” mouse-less? Well, there are some things you still need to grab a mouse for. Some apps, like GIMP, aren’t really usable without a mouse. But that’s ok. The mouse is great. It’s just not the only input device.