Re: GUnique [Was: gnome-utils branched for GNOME 2.16]
- From: Emmanuele Bassi <ebassi gmail com>
- To: desktop-devel-list gnome org
- Subject: Re: GUnique [Was: gnome-utils branched for GNOME 2.16]
- Date: Fri, 22 Sep 2006 13:17:04 +0100
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: 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]