Ever since I started using the GNU/Linux operating system (which I will now abbreviate to just "Linux", apologies to Stallman) in 2008 (Ubuntu 8.10, Intrepid Ibex) one thing I have never been able to settle on has been my desktop environment. I originally started out with the venerable Gnome 2, and was happy with this for a reasonable while during my formative Linux years. I then went through a brief period of using KDE before settling with XFCE, which I have been using for the past three or four years. I'll say right now that I really like XFCE; it is most certainly my favourite out of the "big 3" desktop environments for Linux.
While I really enjoyed XFCE, I really wanted to try out a window manager that allows for tiling. I often have a set of related windows open on the same workspace, and I found that a great deal of time was spent cycling through windows, trying to bring the right window to the fore. Although XFCE has some rudimentary support for tiling, I never found it to be all that great. I equally tried two popular tiling window managers, awesome and Xmonad, but I found both of them to be rather unintuitive; I was not motivated to overcome the learning hurdle with either of them. That was when I found i3.
i3wm is the first window manager that I just got within about five minutes of use. I often found it frustrating to get the exact window layout that I wanted with other window managers, but with i3 it's a breeze. This is probably due to the tree-based layout of the windows; all windows have a parent window, which allows for proper nesting. In addition, there is a sensible status bar (i3-status) as well as an application launcher (dmenu) that come as standard, but these can be swapper out if desired.
Even though it's been only a few weeks, I'm really enjoying it. I've set up a nice minimal desktop with a simple conky theme just to display the time and date, with all the colours taken from the solarized palette. My workspace indicators are in the top left, and in the top right I have the time and date (for when the workspace is busy), battery indicator, and network indicator.
When the screen becomes busy we see the really nice tiling that i3 is capable of. Usually i3 organises the windows so that they are flush to one another, but I am using a fork of the official i3 codebase to allow gaps between them. Even though this goes against minimalist philosophy of i3 (and wastes a bit of screen space), I think that it looks too cool to miss out on. I also use the compton compositor to give terminal windows translucency (I really like my background). Translucency is suppressed in other windows (such as the browser) as I tend to find it more distracting. All of the config for these settings can be found in my dotfiles repository on Github.
All in all I'm very happy with i3wm, and I don't see myself moving away any time soon, as I finally have a way to easily tile and reshuffle windows around as needed all from the comfort of the keyboard.