Xmonad, one of the best tiling window managers out there. It is very easy to grasp for beginners[1], has a comprehensive documentation and is extremely powerful under the hood. The configuration is in Haskell, which makes it Turing-complete, but you can customize Xmonad even if you are not familiar with the language.
Xmonad is what finally made me decide to switch to Linux from OS X. I'd tried other window managers but none of them acted quite how I wanted them to. Xmonad with Xmobar and dmenu is an amazing combination.
Another vote for xmonad. I have been using xmonad on my desktop for most of this year, and it has worked amazingly well, and definitely has one of the best multi-monitor setups I've ever used.
One of the most impressive things is how well it has worked out of the box, so well that I basically forgot to come back and customize, its just been working for quite a while now.
Xmonad works so well that I even rejected to work with a second monitor. At least for me its currently faster switching to another desktop using capslock-<0-9> than physically adjusting my eyes to another display.
I've tried a dozen window managers for weeks at a time. For over a decade I always returned to my old reliable WindowMaker. In the past couple years I started using Metacity (default in Gnome now).
All I care about is having separate workspaces and a few keyboard shortcuts. I have 7 work spaces: Main (local terminal), Browsing (Chrome/Firefox), Communications (Pidgin/XChat/Skype), Development (GVim/terminal), Email (Thunderbird/GMail), Shells (tabbed remote terminals), Misc (usually shells/music player).
Each workspace is dedicate to a single task. Everything is fully maximized in each workspace (for the most part). I switch between them with Alt+{1,7}. Ctrl+M Maximizes a window. I have a few monitoring applets (CPU/network) in the taskbar thingie. Over time I've found that is all I need to be happy and productive.
I also used Windowmaker for a really long time, but stopped when a few years ago it was incompatible with a few of the applications I use (e.g. gaim (now pidgin) would crash very often, and some more annoyances I forgot about).
I especially liked docking applications/icons, its good support for virtual desktops and especially the many wmXXX applications that did one job well, in the space of a 64x64 pixel tile.
These days, I mostly resort to the "standard" gnome desktop with whatever it uses and resort to something very lightweight such as fluxbox on resource constrained machines.
Somewhat customized Openbox. Six workspaces, everything keybound. I make heavy use of alt-drag and alt-middle-drag to move and resize windows without needing to find their targets. Control-fkeys for frequently opened apps like gnome-term, chromium, etc. Each workspace is a discrete task: writing code, testing, email/IM, etc. Helps keep me focused.
What I love about OB is that everything is configurable. A lot of WMs (ahem, metacity) give you no control over the basic operations because they can't imagine any other way to do it. If you find faster ways to do things, e.g. workspace warping with mousewheel, or reordering windows with win+middle click) OB actually lets you achieve them. It's all there in XML--and the defaults are well thought out, too.
I know several people who swear by xmonad, but I've never been able to deal with it for graphical work.
I was surprised to find that no one else has recommended dwm[1], which is what Xmonad (and others) are based on[2].
It's tiling, keyboard-driven, small and lightweight. I've been using it for years now. It's a little hairy to start with, but I love it.
Instead of workspaces it uses "tags" which you can treat just like workspaces, but you can also combine, on-the-fly, to form a mashup of different tasks. For example, sometimes I want my editor & web browser next to each other, when I'm looking something up, but most of the time I just want to focus on the code.
I've found that if you set up devilspie and xbindkeys, it doesn't really matter what WM you use.
devilspie is a rules engine for windows--new windows for this application go to this desktop and are always maximized; browser windows always go to workspace 1, all windows are always undecorated, etc.
xbindkeys is a scheme app that just handles mapping key bindings to shell commands.
Both of these are configured with files full of s-expression that you can check into your version control. Put them together and you can kinda ignore the fact that you're still using brain-dead metacity.
I use wmii with some minor customizations. I have one 30" full of 256-color rxvt-unicode windows and a smaller monitor running chromium. Generally communications (mutt, irssi) runs down the right edge of the 30" and then there are 2-3 columns of terminals running vim or zsh.
One killer feature of wmii is its use of 'tags' instead of virtual desktops. Windows can be assigned to multiple tags. I tend to have tags per task, so task switching is as simple as switching desktop tags.
I use Awesome WM. It was my first foray into the tiling WM world, and I am currently loving it. I have two monitors. I usually have whatever main task I'm working with on my main widescreen, and then a bunch of terminals with various programs (ncmpcpp, irssi, etc) on my old 17 inch monitor.
Awesome is great because of its use of the keyboard and tag system. Also, it is named after one of Barney Stinson's catchphrases.
Awesome is great partly because it's small, nimble and fast. It's one of those rare pieces of software that manages to feel infinitely useful while combating bloat at the same time.
The problem I have with awesome is that it likes to make you write new configs every other release. That's why I'm still stuck with a fairly old version.
Now that they kicked xcb out of cairo (which awesome needs) which resulted in awesome getting kicked out of the arch linux community repository I think I'll just switch to i3 like all of my buddies.
Another vote for Awesome WM. Like you, it was my first (and, so far, only) foray into tiling WMs, and I'm using it on dual 21" monitors.
I usually have Chrome on my right screen, several tabs worth of terminals on my left screen, and Komodo Edit will float back and forth between the two, depending on what I'm doing.
I am using dwm with the bottomstack, gridmode and pertag patches and my own modifications.
Currently I am using a notebook in front of an external display and I added a function to dwm with which I can essentially "push" all clients (windows) to the external display, which in turn sends all its clients to my notebook's display (or in other words it swaps all clients of one display with all clients of the other).
When I am coding I am always using bstack mode with vim on top and one or two terminals at the bottom. The external monitor is displaying documentation. If I have to look something up I just have to push vim + terminals away. If I am finished I pull them back. So my notebook display becomes my working display.
I find that dwm always gets dismissed by users of awesome or xmonad. I've run all three for long periods of time and always go back to dwm, most likely due to my hatred of "bloat". It's stable, small (28kb binary), fun to hack and nice and snappy.
I've been using blackbox for many years ( after using afterstep and windowmaker) but recently turned to stumpwm, a tiling wm written in lisp[http://www.nongnu.org/stumpwm/]. Getting used to it but i think i'll keep it, i like tiling wm . Never been a fan of gnome or kde, and never need all things they carry i prefer a simple window manager.
After using windowmaker, I switched to awesome and I am not looking back. The install is tiny, and it starts instantly, unlike KDE. The tiling is very nice. The configuration is in lua but I haven't been annoyed by anything enough to bother modifying it.
As I work with dual screen linux connected to a remote windows XP/7 desktop running in VMWare/HyperV, I have a screen for tiled urxvt terminals connected to the servers running the processes I manage, with a floating rdesktop session hiding it most of the time. The other screen is set to 'floating' for emails, web browsing and local terminals sessions.
I've used Fluxbox and Blackbox basically since I was in diapers, but I recently decided that it's really way past time to try a tiling WM, and settled on xmonad after initially trying awesome. I like it a lot so far; it's lightweight, flexible, and very easy to configure, and I'm surprised how little I miss dragging windows around (although I still float some frequently used applications, Chrome and Audacious primary among them.)
I usually have a workspace for shell & filesystem stuff, one for emacs, one for documentation, one for running servers and monitors and other misc. utils for whatever I'm doing, and one floating one for web browser and music.
Honestly, there's no good reason at all. I'm just so used to resizing my web browser with the mouse all the time to read things better. I should probably break that habit.
I do occasionally get weirdness with tiling Chrome (though I still do it), when websites try to resize their windows and my window manager won't let it. Some crazy websites depend on multiple sized/moved windows as well, e.g. this thing won't work unless I float the browser: http://news.ycombinator.com/item?id=1646430
I use awesome, it's ... awesome. Try and get away from any floating windows at all, when it's set up correctly there's no need. Also get away from the mouse if you can, mouse free working with Awesome WM is where it shines.
shameless plug If anyone's interested in a guide to getting Awesome WM installed and set up with Ubuntu I made one here. http://8bit.co/?p=39
I use sawfish. It is very lightweight, configurable, supports plenty of keyboard shortcuts and generally stays out of my way.
I have keyboard shortcuts for most simple operations (change workspace, change window, send to back, etc.) and use the mouse when that sort of thing makes sense. I try to stick to 'one task-type per workspace' which helps keep things somewhat organized (plus it keeps my browser in hiding while I'm trying to code).
I like fvwm - http://fvwm.org/ - I can change the size of windows on all sides, and the width of the borders is easily configurable.
(Everything else is as well, but those are the things I particularly like over other window managers I have seen.)
I would like to try running Xmonad on a second monitor, and use that monitor for xterms primarily - I don't want my browser window-size to change with how many windows I have open - but I haven't had time/monitors to experiment.
Another vote for fvwm. I've customized it pretty heavily over the years:
I have a single config file that detects which host its running on and modifies fvwm's behavior accordingly. This way I can have the same configuration work well on the desktop and the netbook.
It works well on the netbook, too, as its very resource-friendly.
I have it set up with a 3x3 virtual desktop space and no edge resistance. The "Windows" key pops up the virtual desktop manager.
Also, I have it configured so that when I hit the "Menu" key or CTRL-Windows I get the root menu, so it's reasonably keyboard friendly. (e.g. CTRL-Windows,T gets me a terminal; CTRL-Windows,N,W gives a browser.)
Not that I use those, really, since I have F1 on the root window bound to "launch terminal", and F2 to "launch browser".
FVMW doesn't work as well as others out-of-the-box, but you can pretty much make it do anything if you tweak the config enough. But that's work, so you gotta wannit.
I really wish it was a compositing window manager, but it's not, and it doesn't seem likely to be.
I have used Linux almost daily for the last 12 years; a good chunk of them via putty/ssh from XP. I headless Slackware box without X; ssh or serial is just fine by me.
At the risk of being mauled to death, I also have a Mac that I just got used, and I only ssh to it. Couldn't be bothered to figure its quirks; will come handy when I get into iphone dev though.
Also, I will not use a non Thinkpad machine if it was given to me for free. My current setup is an R51; Pentium M, 1GB RAM, and 33GB disk.
The tiling, keyboard-driven Xmonad on Linux, but then I got fed up of the look and feel of Linux in general and bailed to OS X completely (with a more basic helper, SizeUp).
I like a main window taking the left 60% of the screen and the remainder for 2 aux windows stacked vertically.
I go with the (distribution) flow and use KDE/kwin. I dumped Gnome/metacity a while ago as it wouldn't do more than 12 desktops, while kwin gives me 20. F1-F12 for the first 12, Alt+F1-F8 for the rest. Every major window is fullscreen on its own desktop and can thus be switched with one keypress (I like desktops over some sort of window-focus hotkey as it gives me a spatial metaphor to how keys are assigned). For example, I'll bounce between web (F7) or pdf (F6) while editing code (F1/F2), negating the need to have two windows side-by-side with the management/tradeoffs that incurs.
Does anyone by any chance know of a Zooming UI (ZUI) WM for linux ?
I've been looking to replace my Gnome desktop I've otherwise been running for years.
I'm no fan of tiling WMs so a ZUI seem a good next step.
I use ratpoison on a ThinkPad X201. I basically only have one xterm with tmux and one browser open. Ratpoison is the least annoying window manager for that.
ratpoison was my first tiling wm. i remember how it made me feeling like a total newbie =)
its lack of a floating mode (needed for gimp and others) made me switch to more advanced wms though.
It can spawn a terminal with one keystroke, can move and resize windows, and has virtual desktops. Other than that, it gets the hell out of my way -- no extraneous bars / panels / whatever, and one-pixel-wide window borders. That's all I ever want a WM to do.
I currently use awesome wm but I run slim so I can login to any number of window managers. I was using xfce4 for a few months and still think it's a great environment. I also mess around with fluxbox. After seeing so many people rave about xmonad I'm going to give it a try as well.
WindowMaker, it was the first windowmanager that I liked, and haven't moved since, but it is beginning to feel its age. I am missing some of the new stuff from gnome/kde a litte bit.
And i forgot to mention a Vimperator project. It's really useful peace of software. It let you to surf the web with keyboard only. http://vimperator.org/vimperator
kwin because it has such great configuration options. You can customize everything by window class/title etc, like which desktop it goes to, is it always on top/bottom, maximized horizontally/vertically, skip the taskbar etc.
The compositing effects Present Windows Desktop Grid are actually useful
[1] http://xmonad.org/tour.html