People always say, why can't Linux have some of the same functionality as OSX ? Look at apple, see the path breaking innovations they bring out w.r.t usability. It is anybody's dream machine. And then, they go for the final kill - have you seen Expose at work on a Mac ? It's awesome!!

I personally like OSX too for the importance they give to usability and aesthetics. And I really like Expose on OSX. Which is the real reason for this post. Now Linux can also claim to have Expose like functionality in an application called Kompose. Kompose is an efficient full screen task manager which gives a graphical representation of the open windows on your desktop(s) at any given time.

When you start kompose, it discretely resides in your system tray. But it also takes a screenshot of all the applications open on your desktop(s) in set intervals. Now when you want to switch from one window to another, just pressing the key combination [Ctrl+Shift+J] or [Ctrl+Shift+I] (You can remap the key combinations in the configuration settings) will neatly tile all the applications on your desktop (see picture below). Kompose creates a full screen view where every window is represented by a scaled screenshot of its own. And then clicking on the application image of your choice will give the focus to that application.

Fig: Kompose at work on a linux desktop

Kompose makes use of Imlib2 to render the images. And the minimum requirements for running this nifty application is KDE 3.2, Qt 3.2 and Imlib2. Of course I need not tell you that for such graphics intensive operations, you also need a very fast machine. It ran smoothly on my Pentium 4 2.0 GHz 256 MB RAM machine.

At present, you have to manually download and install it on your machine. Debian users can simply run :

# apt-get install kompose

However, on my Fedora core 2 machine, I had to download and compile it from source (Another reason to switch to a debian based distribution).

But hopefully, by the time KDE 4.0 is released, we can look forward to it being included as a standard feature of KDE.

I have been doing this using CTWM (first on Solaris and then on Linux) for nearly a decade now, well before Apple "invented" the concept. The one big difference, which I actually prefer, is that in CTWM, the various windows don't appear as little screenshots, but as simple appropriately sized and titled boxes that I can move around, drag and drop between workspaces or simply switch to as I need, with configurable mouse and keyboard shortcuts too. Oh, and did I mention that CTWM only uses about 5MB of ram on my computer all told? Having the mini screenshot looks great, but provides no usability benefits and adds a lot more overhead to these already huge and unwieldy desktop environments.

Here's a screenshot of the CTWM virtual window pager in action (its the box in the lower right hand corner of the screen).