After the comments on my latest blog post, I got back at Unique and did some rearrangements in the code base. Now the backends are all compiled in (obviously, depending on whether you have the dependencies to compile them) and the backend to be used can be defined at runtime. The default backend is chosen at compile time and can be overridden by setting the
UNIQUE_BACKEND environment variable. Obviously, if you launch an instance with
UNIQUE_BACKEND=dbus and another one with
UNIQUE_BACKEND=bacon you will have two instances running – but that’s only to be expected.
I’ve also updated the API to something I can probably call “semi-frozen” (small API additions notwithstanding); the constructor changed to always accept a startup notification id (it will try to be clever and find it for you if you pass
NULL, though) and allows you to define custom commands with a single call.
As usual, you can clone the Git repository from here:
git clone http://www.gnome.org/~ebassi/git/unique.git
or grab the tarball for
0.9.20.9.3 from here.
I’ll keep working on making a 1.0.0 release at GUADEC (probably it’ll happen right at GUADEC), API/ABI stable and with the Xlibs backend. Then I’ll resume working on the
GtkApplication class, which will have the Unique features but will (hopefully) be integrated in GTK+.
Update@2007-07-12T12:54+0100: New release, with full API reference documentation, a couple of stupid bugs squashed and workspace support.