gnome-panel and libpanel-applet port to dbus

Carlos Garcia Campos carlosgc at gnome.org
Fri Dec 30 10:43:27 PST 2005


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. 

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. 

I'm sure I forget something, all kinds of comments will be welcome. 

[1] http://carlosgc.linups.org/files/gnome-panel-dbus.diff
[2] http://carlosgc.linups.org/files/gnome-panel-2.13.4-dbus.tar.gz

Happy new year!
-- 
Carlos Garcia Campos (KaL)
   elkalmail at yahoo.es
   carlosgc at gnome.org
   http://carlosgc.linups.org
PGP key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x523E6462
-------------- 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
	digitalmente
Url : http://lists.freedesktop.org/archives/dbus/attachments/20051230/318ae490/attachment.pgp


More information about the dbus mailing list