For some time now I’ve been trying to reduce the need to use the mouse when I’m on my workstation at work, or my Linux desktop at home. For some applications, the mouse is necessary, but the majority of my work at my job is done through terminal shells. A co-worker opened my eyes to AwesomeWM, and I’ve never looked back. With a few configuration tweaks, it’s easy to arrange your open windows (shells and browsers alike) in a particular pattern. It keeps the notion of major and minor windows, so when there is an arrangement where some windows are bigger than others, the bigger ones are the major windows. The configuration file is relatively straightforward for some options, but the wiki the site has, along with other websites, has more than enough information to get started. For example, I am not a fan of xterm windows (the default term in AwesomeWM), so I used rxvt-unicode (urxvt). It took only seconds to update the configuration file to use a different term. I could have just as easily used gnome-terminal, or any other term you have installed.
If you’re used to Linux already, you’re familiar with the notion of workspaces (some people call them desktops), and while Awesome has these, the notion is somewhat different. Instead they are called tags. By default tag 1 is active, so you’re only seeing windows opened within tag one. With a shift-click or another easy keyboard sequence, you can switch tags, or display multiple tags. (i.e. if you have shells open in 1, and browser in 2, you can overlay 1 and 2 together.)
It’s very lightweight, doesn’t have a lot of fluff, and allows you to maximize your screen real estate. Even the window borders are minimal — seems like a pixel wide to me, and you can only see them when that window is active.
Having used a variety of other desktop and window managers, AwesomeWM is still at the top of my list.
If you’re so inclined, I’d recommend starting with looking at some example screenshots on Google Image Search.