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 yahoo es carlosgc gnome org http://carlosgc.linups.org PGP key: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x523E6462
Attachment:
signature.asc
Description: Esta parte del mensaje =?ISO-8859-1?Q?est=E1?= firmada digitalmente