2011-04-10

More Linux awesomeness

Well, here I am again. After several years with various BSDs, and even OSX and Windows, I'm back with my long lost love - Linux. I installed a new PC, and Linux was a natural choice, being the most sensible desktop OS. I chose ArchLinux as the distro - this is a minimalist one well suited for technical users - reminds one a bit of BSD - and seems to be getting popular nowadays. Over the years, nothing really groundbreaking seems to have happened in the Linux land - we do have a few new distros, and wider industry support - among other things, it seems the vast majority of future smart phones will be running Linux, most likely the Android incarnation. Otherwise Linux is as good as ever, there's a few nifty things like mpd - the music player daemon, which offers flexibility as playing music is separated from the controlling UI. The latest craze is the Awesome window manager, though.

Tiling window management, like so many other things in computing, can be traced back to Xerox PARC (http://en.wikipedia.org/wiki/Tiling_window_manager). The idea of tiling window management is probably familiar to most people on the application level: for example the file managers of the Amiga and MSDOS era often placed views of 2 directories side by side, and nowadays e-mail applications like MS Outlook may display the titles of the messages in your mailbox in a part of the window and an actual message text in another part. This UI paradigm is in sharp contrast to the nowadays ubiquitous floating window managers (seen on about all desktop OSes) where your windows overlap quite a bit, and may even be completely hidden or maybe it's just the corner peeking out from behind all the other windows. This can become a bit painful when you have many windows, as finding and identifying the actual window you want is a challenge.

Tiling window managers don't waste desktop space to the clutter of partially visible windows, but instead the fewer windows visible at each moment are maximized to provide the largest working area possible. This kind of window arrangement seems especially appealing to software developers: "here's my text editor, here's my compiler, what else do i need?". For all the rest of us, a sophisticated and highly dynamic window manager - such as Awesome, http://awesome.naquadah.org/ - is welcome. For example, Awesome can quickly shift your basic arrangement of the desktop by changing the basic layout - you could say have your master window take the left half of the screen and all the other screens being stacked on the right half, then switch to a fullscreen window view, or to a layout where each window takes the equal amount of space - you can edit various parameters of the layout by changing the number of master windows, slave window columns, the size taken by the master column, etc.

Another exciting feature are tags - these are much like the virtual desktops that most unix users are familiar with and which have been used to expand the size of the desktop for a long time already - but the trick is that you can easily select to view an arbitrary set of tags simultaneously, ie. like viewing multiple virtual desktops at the same time, or a bit like Expose&Revelation on OSX - but the difference being that the selection from a big set of small windows transitions seamlessly to the regular experience of working with a few large windows. All in all, Awesome offers a very powerful and dynamic experience to the serious unix user.