Hi; On Fri, 2006-09-22 at 13:49 +0200, Alexander Larsson wrote: > > *shrug* I remember that we (Matthias, Vytas, and I) discussed D-Bus, > > Bonobo, and Bacon (since there were several Gnome applications using > > each of those for their single-instance mechanism) and X (which > > Matthias brought up and also since Mozilla/Firefox uses it for its > > single-instance mechanism). However, I no longer recall any details > > about this particular choice since I was more interested in the WM > > interaction details (surprise, surprise). It may have been that Vytas > > was familiar with D-Bus and Bacon and we figured it was more important > > to get other details worked out first, but I just don't remember. > > > > However, Vytas did design GUnique to make the backend easy to > > transparently replace. > > One advantage of using X would be that it works for remote X clients > too.
Right now, GUniqueApp depends on a compile-time check for D-Bus and a run-time check between D-Bus (if support was compiled in) and Bacon (as a fallback). In order to add it to GTK+ a Xlib default IPC should be used[1], and I'd suggest to use modules loadable at run-time for the other transports, like D-Bus. We'd also have to use something on win32 and OSX, even though I think that other platforms already have facilities for this kind of stuff. +++ [1] We could define a spec with some default properties, like: _G_UNIQUE_VERSION integer, in form 0x%02d<maj>%02d<min>%02d<micro> _G_UNIQUE_NAME UTF-8 string _G_UNIQUE_STARTUP_ID string _G_UNIQUE_COMMAND integer _G_UNIQUE_DATA string which maps the protocol used by the current GUniqueApp implementation as far as I can see. The _VERSION property could be used for versioning, in case we'd add some new commands. Ciao, Emmanuele. -- Emmanuele Bassi, E: [EMAIL PROTECTED] W: http://www.emmanuelebassi.net B: http://log.emmanuelebassi.net _______________________________________________ desktop-devel-list mailing list desktop-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/desktop-devel-list