Making a library for Gnome single-instance applications -- progress report


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 Also, I had to patch
metacity to react to startup identifier changes, see Nevertheless, some
fallbacks for unpatched GTK are provided by the library.

Official project website is, you can obtain all
the source code and patches from there. The most recent tarball is
available as
Gnome Live also contains useful information and discussions

I have started porting applications to use the new library, see 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

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

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]