March 2009: location and contents of the $HOME config file have changed. Awesome now looks in ~/.config/awesome/rc.lua instead of ~/.awesomerc, and very little of the documentation seems to reflect this fact. On the bright side, for those of us who do not have a "Windows" key, it is now much easier to reassign the "Default modkey" to something else. To do so, make a local copy of config file:
cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua
Then edit ~/.config/awesome/rc.lua:
modkey = "Mod1"
Mod1 is the Alt key, which is what you now must use for almost all keyboard shortcuts.
As of early 2009, Awesome upgrades over-write /usr/share/xsessions/awesome.desktop without asking, causing my status bar clock to disappear and my screen locker to not get started. Keep a backup copy and manually restore this file after each upgrade.
It would seem I have discovered a hole in the Linux OS: there is no generalized method for autostarting applications upon login. KDE and Gnome each have their own, and if you use one of the other window managers some have something built-in, others (awesome?) apparently do not.
This is my latest attempt to get a screen locker (xautolock / xtrlock) and a status bar clock going in my setup, borrowed from here. In ~/.xinitrc I have put the following:
#!/bin/sh ~/bin/better-awesome-clock & xautolock -time 10 -locker xtrlock -corners 00+0 -cornerdelay 0 & exec /usr/bin/awesome
And I have modified /usr/share/xsessions/awesome.desktop as follows, such that the "Exec" line invokes .xinitrc rather then invoking awesome directly:
And finally, for the record, this is the contents of ~/bin/better-awesome-clock (borrowed from where I do not recall):
[Desktop Entry] Encoding=UTF-8 Name=Awesome Comment=Awesome window manager Exec=/home/userid/.xinitrc Icon=awesome.xpm Type=Application
#!/bin/sh # while true do if [ -S ~/.awesome_ctl.0 ]; then while true do # See 'man date' to see the possible replacements for the % fields. echo "0 widget_tell mystatusbar clock text " " `date +\"%a, %b %d %I:%M %p\"`" echo "" # an empty line flushes data inside awesome sleep 1 done | awesome-client else sleep 1 fi done
I recently made the switch to Awesome mainly because of some ongoing pain in my right arm, which I am attributing to "mouse abuse". So I installed Awesome, which promises to be keyboard-centric rather then mouse-centric, and unplugged my mouse.
A few days later, so far so good, with some reservations. I certainly do use the mouse less, as the Awesome keyboard shortcuts do make it very convenient to jump around between windows / applications. A bonus feature is more efficient use of screen real estate, as Awesome by default does not have window title bars, and its automatic window layouts are oriented toward displaying all windows at the same time, side-by-side. Though where appropriate, for some applications, you can choose to stack windows on top of one another, and you do get to choose which windows display together. And for many applications, I find myself using them now full-screen all the time, in their own workspace, without a title bar. Firefox, for instance, really seems to display a lot more on one screen (my laptop LCD is a smallish 1024x768).
I still use my laptop stick-mouse more then I would like. For certain activities with certain kinds of applications (browsing on a web browser, for instance) there is no way to get away from the mouse. At least I have not found one. For the part of your day you spend dealing with text, though (programming in terminals? writing this blog?) Awesome can almost completely eliminate mouse use.
Awesome, by default, heavily depends on using the "Windows" key found on many keyboards. My Thinkpad X24 does not have one. The commonly made suggestion is to let the "Alt" key take-over this duty, my changing all instances of "Mod4" to "Mod1" in ~/.awesomerc. It works, but.... many common tabbed apps like Firefox are setup to use Alt-n to switch between tabs. Since Awesome has taken over the Alt key, I must use the MOUSE now to switch between tabs. Yuck.