[ANNOUNCE] GtkUnique 0.9.0 - Single Instance Application Library

Hi all;

here's the initial beta release of GtkUnique, a library for creating
single instance applications[1].  all back-ends are available and

  * D-Bus [preferred]
  * Xlibs
  * Unix domain sockets

the IPC is completely hidden behind the API, so you don't have to care
about it; the better encapsulation of the IPC code made possible to
review the design and actually allow the subclassing of the GtkUniqueApp
object[2].  so, now, you can implement your own application object as a
subclass of GtkUniqueApp.

this is the list of changes since the last announcement:

Overview of changes from GtkUnique 0.1.0 to 0.9.0

* Initial beta release;
* Hide the implementation deeper, and finally allow subclassing
  the GtkUniqueApp object; also, provide an example;
* Finish the libbacon-like, Unix socket based backend;
* Fixes and performance improvements in the Xlibs backend:
  [thanks to Matthew Allum]
 - Check every XGetWindowProperty() call with the GDK error
 - Use the _NET_CLIENT_LIST property of the root window
   to get the list of top-level windows, and use XQueryTree()
   as a fallback;
 - Sync the X server before removing the grab, to make sure that
   the changes are applied;
 - Add multi-head support;
 - Add a selection lock when finding the right window to
   avoid races;
* Documentation fixes:
 - Add a per-backend documentation section;
 - Add a spec prototype for the Xlibs backend protocol;
 - Complete API documentation coverage;

some projects expressed the intention to use gtkunique as a external
dependency; as such, I decided to import it into GNOME CVS as the
gtkunique module[3] from my bzr repository[4].  if no major bugs are
found, I can make a 1.0.0 release to be blessed by the release team.

I understand that having (yet) another small library to depend upon is
not the optimal solution; importing the module via CVS might be a better
option, until a way to include GtkUnique inside GTK+ is found.



[1] here you can find more informations:

[2] even though I said that I would not do it:
I do love contradicting myself.

[3] http://cvs.gnome.org/viewcvs/gtkunique/

[4] which will be kept around for more off-tree, crack-ridden features.

Emmanuele Bassi,  E: ebassi gmail com
W: http://www.emmanuelebassi.net
B: http://log.emmanuelebassi.net

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