I have been a big fan of tiling window managers for quite some time and have tried just about every one out there. Since I spend the vast majority of my time in the terminal, I find that I am WAY more productive with a tiling window manager because it is so easy and quick to flip around to different screens or between my two monitors, all while keeping my hands on the keyboard and off the mouse.
For a long time, I was a real fan of dwm, which is an awesome teeny-tiny little tiling window manager. However, it does not have good Xrandr support, so once I added a second monitor to my setup, I had to look around. Out of that search, the legacy/old stable branch of the awesome window manager became my window manager of choice, and it has been working well. Awesome was originally a dwm fork, so it felt very natural. One of the best things about awesome-2 was that it had an easy to understand yet powerful and flexible configuration. It also had excellent Xrandr support. Unfortunately, awesome-3 was virtually rewritten, became lua-based, and now requires one to spend a few hours learning lua before being able to write a damn configuration file. Sorry, I ain’t got that kind of time.
So, since my current window manager has been mothballed/kicked to the curb, I have been revisiting all the tiling window managers I could find to see what works well for me. My needs are simple: a human-readable configuration file, true Xrandr support, standard but not overwhelming features, and sensible defaults — without a lot of bloat. The problem is that many of them seem to suffer from one problem or another, such as: requiring the user to learn another language to write a stupid configuration file (aweseome-3, xmonad), poor Xrandr/dual head support (dwm, wmii, evilwm), huge dependencies (xmonad), compiled-in configuration settings (dwm), or annoying emacs-style keybindings (ratpoison).
The good news is that several new tiling window managers have emerged on the scene, namely Musca, i3, and scrotwm (scrotwm can use scrot to take screenshots, but otherwise I do not believe there is any relationship between scrotwm and scrot). I have spent some time with Musca and scrotwm, but have not yet gotten i3 to compile since it requires very recent versions of several libraries, which I do not have on my systems.
The great thing about scrotwm is that it does /exactly/ what I want and has the features I have been searching for: true Xrandr support, simple configuration file, sensible defaults, no fat dependencies, and a very tiny disk/memory footprint. Scrotwm is written in C by three OpenBSD developers, so I feel confident that it has a well-structured codebase. Scrotwm integrates easily with dmenu for launching applications and includes a small statusbar by default. Scrotwm also comes with an excellent man page that tells you everything you need to know. It has been working extremely well for me, and has pretty much taken over as my default day-to-day window manager. There have been very few issues which is pretty amazing for a window manager that’s only been around about 2 months.
Similarly, Musca is looking really good as well. Like scrotwm, Musca is also written in C and utilizes dmenu. There are several interesting features about Musca that make it a bit different than most of the other tiling window managers. First, Musca does manual tiling, instead of the dynamic tiling that most of the other tiling window managers do. That means the user can set the frames where they want them to be and then populate the frames with the apps. If the user does not do this, then the first app that is started will take up the full, default window space, which the user can the divide into separate frames. It is a bit like ratpoison this regard. Musca uses a compile-type config.h file just like dwm, but you can also have a ~/.musca_start file which will be read by Musca upon start, which essentially means you can override default settings and have Musca start up with various frames and apps all loaded and ready to go. Another interesting feature about Musca is that it uses a concept called ‘groups’ that can be used to organize windows (sort of like dwm’s tags) and apply different tiling modes or other features. Finally, Musca has a set of commands that can be entered in a dmenu taskbar to change certain characteristcs on the fly. All of this information is very well documented on the Musca website.
For me, tiling window managers are cool and work very well for my computing style. I love having several terminals open for mutt, irc, hacking around with sbopkg and other projects, and tiling window managers allow me to organize and quickly move around from terminal to terminal without taking my hands off the keyboard. It is so great to see new tiling window manager projects spring up. Be sure to check out these new projects if you are interested in tiling window managers at all.