gnome-panel and libpanel-applet port to dbus

Carlos Garcia Campos carlosgc at
Sat Jan 7 03:53:03 PST 2006

El sáb, 07-01-2006 a las 11:59 +0100, Vincent Untz escribió:
> Hi Carlos,


> Le vendredi 30 décembre 2005 à 19:43 +0100, Carlos Garcia Campos a
> écrit :
> > Hi all, 
> > 
> > during the last days I've been working on porting libpanel-applet from
> > bonobo to dbus. I have right now enough code to make a proposal. This
> > port has two main goals:
> > 
> > 1.- The first one is the evident one, porting the IPC mechanism used for
> > the communication between the panel and the applets by using dbus which
> > is really good and  a modern IPC mechanism. 
> > 
> > 2.- The other goal is wrapping the use of that IPC system into the
> > libpanel-applet so that both the panel and the applets don't need to
> > know anything about IPC's. If in the future we need to change again the
> > IPC system we'll only have to port the library, keeping the panel and
> > (even most important) the applets without modifications. 
> > 
> > I think that one of the most important advantages of using dbus rather
> > than bonobo is that dbus has a really good glib bindings, so that we can
> > use the glib types, properties, signals, etc. Writing applets is even
> > easier and you only need to know GTK+ and libpanel-applet. The panel
> > code is also simpler and therefore easier to maintain. 
> > 
> > I've attached a patch[1] against gnome-panel CVS HEAD and a tarball[2]
> > with all of the changes merged. It's requieres dbus 0.60 and intltool
> > cvs head. 
> > 
> > Since it's a big patch, I'm going to try to explain briefly the contents
> > of such patch. 
> > 
> > The PanelApplet class is almost the same, used to write applets. I've
> > added a PanelAppletContainer class which is a container for applets.
> > It's used by the panel and can be used easily by any other application. 
> > 
> > Localization of the applets available in the system is made by
> > gnome-applets-manager. It's a simple dbus service also wrapped by the
> > libpanel-applet. I haven't included it in the patch because it goes in a
> > directory and I don't know how to include it, but it's in the tarball. I
> > haven't also included the removed files because they made the patch
> > bigger and they don't really provide useful information. 
> > 
> > Look at the patch for more implementation details and feel free to make
> > any comment or whatever you think. 
> I wanted to look at this in details, but I didn't find time. Anyway,
> here are some comments:
>   + thanks for working on this :-)
>   + really, we don't want to move to dbus and forget bonobo like this.
>     We should at least have a migration period during which applets of
>     the two worlds can be used. So you should not remove the old code.

yes, I know, I think it's important to keep the compatibility. Although
porting an applet to dbus is really easy, having a migration period will
make the process less painful. 
I've been working on that for a while and I think I've found a good way
to keep the compatibility with bonobo applets. I'll send an updated
patch as soon as I have something.  

>   + I think this means that we won't have in-process applets anymore.
>     We're not using them right now, but some people wanted to use them
>     for performance reasons. It's okay for me, though :-)

Oh!, it's in my TODO, but I forgot to mention it in my mail.

>   + maybe it's a good time to consider making a libgnome-applet instead
>     of libpanel-applet: there has always been discussion about having
>     applets on the desktop, so...

sounds reasonable

>   + I wanted to add some other comments, but I forget what ;-)
> > If it make sense we can make a special cvs branch, continue working on
> > it there, and merge it into head for gnome 2.15. I also have in mind
> > writing a patch against gnome-applets since at the moment I've only
> > ported the gnome-panel package. 
> So, IMHO, we should create a libgnome-applet module and put most of the
> code there. And we can of course make a branch for changing the panel to
> use this lignome-applet library.
> What do you think?

I agree :-) 

Thank you Vicent for your comments. 

> Vincent
Carlos Garcia Campos (KaL)
   elkalmail at
   carlosgc at
PGP key:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada
Url :

More information about the dbus mailing list