My Awesome Experiment
A month or so ago I switched window managers from KDE to Awesome . I see no reason to go back.
The Tiling Mindset
Awesome is a tiling window manager. The premises of tiling window managers are:
- Look how much space is wasted on your desktop - blank space & window decorations!
- Look how much time you spend dragging windows around, arranging, resizing.
- Look how mouse-dependent these activities are - what a timesuck!
All three of these points are true, but I couldn't have really seen it until after I gave it a try. Now when I navigate the Windows desktop at work I'm quite irritated by the amount of time I spend futzing with resizing and dragging windows. Now my windows lay out in a mostly-sane way, and resizes can be done with a couple of keystrokes. Same for focus changes, window swaps, and desktop (tag) changes - a couple of keystrokes to handle it all, and I rarely have to reach for the mouse.
To be fair, at work I use more applications at one time than at home - but Awesome has a solution for this too - tagging. For the most part, tagging = virtual desktops, which have been common in Linux for years, though for some reason I never used them. Awesome's improvement on the old virtual desktop idiom is: virtual desktops can be combined.
So, if I have Firefox on desktop "One", and Eclipse on Desktop "Two", I can hold Ctrl-Logo-1-2, and the windows from both desktops are tiled. Do I use feature? Rarely. But I do frequently send windows from one desktop to another with Shift-Logo-#.
A Small Footprint
Comparing memory usage, the lo-fi ethic is evident:
- Memory usage at after login (no window manger): 67 MB
- Memory usage following Awesome launch (+1 aterm): 72 MB
- Memory usage following KDE launch (+1 xterm): 100 MB
I won't pretend that the 28 MB extra used by KDE bothers me too much - after all, a Windows XP launch on a 512 MB machine usually has me paging immediately after launch! The point of the benchmark is to show that Awesome is truly a minimalist setup.
The Target Audience
I think Awesome isn't for everyone. I prefer keyboard navigation as much as possible, and Awesome isn't for folks who must grab for their mouse for every action. I don't always understand these folks - in some cases these are power users who can master the complexity of a gaming console keypad, and re-learn the setup for every new game - but when they get to work they'd prefer to click "Build" before pressing F5.
Extensibility
Awesome has an equally lo-fi plugin architecture. A clock in the navigation bar is powered by a bash script, which I typed in from a tutorial. This has me thinking of other items I could automate easily - most recent but in a software project, latest item in a to-do list, or even grabbing my net worth from GnuCash.
If you haven't tried a tiling window manager, give Awesome a try! If you have, what has been your experience?