The Road to One Point Zerodom

A comment on my previous blog post asks, “when are you going to release a new version of Superswitcher?” For those who don’t know, superswitcher is my window management utility that aims to be a compelling replacement for Alt-Tab.

It’s true that I haven’t made a release in years, and known crashers have been fixed since then. Yes, I’ve been lazy. Let’s fix that. Specifically, I aim to do a superswitcher release for the upcoming Ubuntu 10.04 LTS release (Lucid).

Since there’s been no feature changes in more than two years, let’s call this the 1.0 release. There remains a number of open bugs, but in my experience it’s pretty stable. Calling it 1.0 brings a few points into focus:

First, superswitcher theoretically builds on GTK+ 2.6, libwnck 2.10, and XFree86 (not just, but I’d be surprised if people are still running 2005-era distributions. I’d like to modernize the dependencies to what ships on Lucid — the less #ifdef’s in the code, the better.

Second, compiz has never really got on well with superswitcher. I agree with Havoc Pennington that “it’s a total PITA for apps and pagers if there are two ways to implement workspaces“. I’d started compiz support, but superswitcher-on-compiz is still not really usable, it crashes more often, the code became more complicated, and fundamentally, I personally don’t have an itch to scratch (I like my Cheerios window manager) and nobody’s sending patches. I’m therefore aiming to not support compiz at all (rather than “support” it badly) for superswitcher 1.0.

Third, there is currently a runtime flag for experimental “live window thumbnails”. This might become a compile-time option, but I doubt that I’ll ever finish it, so I’m tempted to remove this entirely too. Again it’s buggy (it doesn’t show thumbnails for windows on other workspaces), my unscientific feeling is that it’s noticably slower to paint, and it isn’t really helpful (visually) unless the thumbnails are so large that the layout is kind of ugly. I’m also not fully confident with how XComposite, XDamage, and XRender are all supposed to work without causing X errors, and comments in the metacity source suggest that I’m not alone.

People have asked about moving superswitcher’s features into metacity (GNOME’s default window manager). The metacity maintainers are certainly aware of superswitcher, but feel that it should remain a separate program, just like Devil’s Pie, which is fair enough. Maybe I’ll write my own window manager one day, but that’s another story for another time.

So, dear superswitcher users, any comments?


#1 Andrew Bennetts on 01.31.10 at 1:25 pm

Is there a PPA I can use to install superswitcher? I’m not a user yet, but if it’s easy enough for me to install it on karmic I’d try it out…

#2 Andrew on 02.07.10 at 2:19 am

Hi Nigel,

I´m glad to see Superswitcher project ain´t dead. Two little comments:

1. I think Superswitcher is a stable application but after SVN 33 and later revisions. With official 0.6 version I get many segmentation faults, specially when I kill anyother application and then try to use Superswitcher. In my opnion you should release an official 0.7 version from the latest code before make further changes to Superswitcher.

2. When I´m making my own wrapping applications, I usually open many windows/apps at the same time and it´s difficult to trace each application state. The live window thumbnail help me to organize them, without this feature I can´t even pick the right window. Didn´t see any bug or problem with your thumbnails implementation, please keep it…

Superswitcher is officially incorporated in one of the best Puppy Linux derivatives, Puppy 214X. Check it at:


#3 nigeltao on 02.07.10 at 9:35 am

@Andrew Bennetts

No PPA yet. I haven’t really looked into it, but I just aim to publish a .deb, and don’t expect to issue many updates. On Karmic, installing is unfortunately a svn checkout and build from source. If you can wait a few months, then it’ll be easier to try on Lucid.


For point 1, a 0.7 release might be worth doing. Still, I think it’ll be for Lucid and not Karmic.

For point 2, the biggest bug with live window thumbnails is that, at least with metacity, you need to keep all your windows on the same workspace. It’s not usable, to me, in my day-to-day work. I don’t know enough X to know how to fix that.

#4 Cay Horstmann on 03.27.10 at 12:00 pm

I just discovered SuperSwitcher, and I think it is fabulous. Having a pre-built binary for Ubuntu should give it much-deserved attention.

Frankly, the Compiz switcher is pretty nice, so having SuperSwitcher in Compiz isn’t such a high priority for me. But on plain Metacity, SuperSwitcher rocks!

Personally, I like the live previews. I’d like it even better if I could get the icons and the previews.

#5 Thomas Johnson on 03.28.10 at 1:45 pm

Just wanted to add my thanks for superswitcher. I use it all the time when I’m coding and it’s one of the first things I install on a new system. Have it for Lucid would be great — but if you don’t have time to update the package regularly, I’d just as soon pull from SVN.