Is there a keyboard-centric desktop/WM available?
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.