Hello, As the Google SoC is coming to its official deadline, I have written a small progress report about my project, a library for Gnome single-instance applications. The library itself is nearly done, one can use it for creating DBus or sockets (aka "Bacon") based single-instance applications. An automatic selection of communication method is provided, it defaults to DBus, if library is compiled with DBus support and the DBus daemon is running, and falls back to Bacon otherwise. The library does its best to obtain a startup-notification identifier, or constructs a fake one based on the X server timestamp. Workspace is also obtained and passed to another [already-running] instance, although this part of code needs some improvements. The library is most useful with improved GTK version, see my patches on http://bugzilla.gnome.org/show_bug.cgi?id=347375. Also, I had to patch metacity to react to startup identifier changes, see http://bugzilla.gnome.org/show_bug.cgi?id=347515. Nevertheless, some fallbacks for unpatched GTK are provided by the library. Official project website is http://guniqueapp.akl.lt, you can obtain all the source code and patches from there. The most recent tarball is available as http://guniqueapp.akl.lt/releases/guniqueapp-0.5.tar.bz2. Gnome Live also contains useful information and discussions (http://live.gnome.org/SingleInstanceApps, http://live.gnome.org/GuniqueappUsageGuide). I have started porting applications to use the new library, see http://bugzilla.gnome.org/show_bug.cgi?id=351092. I haven't ported as many applications as I initially wanted, however, I won't leave the community even when SoC is over and continue the porting or help someone to do the work. In addition, I think I succeeded in creating a simple API to use, so that various ports could be easily done by software maintainers. On the top of that, I hope that my library will find its place in the Gnome project. Best Regards, Vytautas Liuolia, Google Summer of Code 2006 student
Attachment:
signature.asc
Description: This is a digitally signed message part