El sáb, 07-01-2006 a las 11:59 +0100, Vincent Untz escribió: > Hi Carlos, Hi, > 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 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