I know of the awesome window manager, which after some customization may suit my desires, but I was wondering if there is a keyboard-centric desktop environment that doesn't require too much tweaking to make it really useful. Of course gnome and I'm sure KDE have nice shortcuts, and the ability to set them up how you want, but that becomes a problem because in a lot of cases the keyboard ends out conflicting with built-in program behavior.
Any suggestions?
There are plenty! (However, all the ones that I know of are also tiling window managers.)
XMonad is likely the one with the largest user community. It has extensive documentation and works well with GNOME/EWMH extensions (albeit you have to activate them in the configuration file). The configuration file has Haskell syntax, but it's certainly possible to edit it without knowing much about Haskell, by just copying+pasting examples from the documentation. Default keybindings are
vim
-inspired, though they can all be remapped (including using chained keybindings like Emacs'C-a C-b C-c
). It's available in Ubuntu as packagexmonad
.Bluetile is an offspring of XMonad: it supports a simplified configuration file, and integrates well with the GNOME desktop by default. Unfortunately, it's not available in Ubuntu 10.04, so you have to install from source.
DWM is the "inspiring father" of XMonad and Awesome. It's very lean and fast, and available as package
dwm
in Ubuntu 10.04. However, by design, to change the configuration you have to edit a header file in the sources and recompile; most documentation about the available options is only available as mailing list posts. It does not support GNOME/EWMH by default, you will have to patch it; the Echinus fork of DWM started this way. Mostdwm
users will frown upon a "desktop environment" so it's probably not the right choice if you like GNOME gimmicks. Default key bindings arevim
-like; they can be remapped, but there's no option for chained key-combos.Awesome started off as a fork of DWM.
Ion is a tiling window manager fully programmable in Lua: also the "configuration file" is a Lua script, so you can map any key to any action (provided you know enough Lua for the task). No support for GNOME or EWMH extensions, as far as I know. Available in Ubuntu 10.04 as package
ion3
.wmii is the predecessor of DWM (same author). It can be fully controlled by the keyboard, but has a smaller selection of layouts, and the configuration format is based on a "virtual filesystem", which makes very complex things possible but (IMHO) also simple things rather complicated. Available in Ubuntu 10.04 as package
wmii
.larswm can configure a key binding for all the operations it supports. Documentation comes in the form of a man page, clear and complete. The user community is now very small, and the mailing list used to be silent for months. No support for EWMH/desktop extensions. Available as package
larswm
.ratpoison, as the name says, forces you not to use the mouse. Every action is accomplished by a key stroke. Default keybindings are inspired by GNU
screen
and Emacs; they can be rebound, subject to the constraint that there is always a global "prefix key" to initiate the action. StumpWM is a rewrite ofratpoison
in Common Lisp, which adds the nice option to hack the WM while you're running it. No support for EWMH/desktop extensions (by design, I'd say). Both are available in Ubuntu 10.04 (packagesratpoison
andstumpwm
).Use Meta or Ctrl-Alt modifiers for desktop shortcuts.
Most programs use Ctrl or Alt modifiers for their shortcuts (or use the function keys with no modifiers).
Most programs don't use Ctrl-Alt shortcuts and almost never use Meta shortcuts, so you should be safe using these without conflict.
You might want to check out the keyboard shortcut community wiki on here for more information on default keyboard shortcuts :)
Apart from awesome, other choices are DWM & WMii. I don't know much about WMii but DWM is extremely simple and slick and has all customization contained in the source code itself. However, this means it requires you to recompile it everytime you change a shortcut. This is what gives dwm its power and performance.
My choice would be awesome - it can be easily installed from official ubuntu repositories.
HOWTO: Setup AwesomeWM - Ignore the build from src instructions if u use above install command
I would argue that Emacs has crossed the boundary of being a text editor and is now a full blown OS, and at least for me, is my prefered keyboard centric user interface. I mean the above statement as a compliment and a strong recommendation of the program rather than the tired joke some people imply with the same statement.
I usually invoke it in a terminal window with:
Of course install it with:
I am still surprised that Ubuntu and Canonical choose not to install it by default.
It does have a somewhat steep learning curve, but will reward you with a rich working environment and editor. Start your exploration by using it's built in tutorial, which you can invoke with: