GNOME Bugzilla – Bug 600081
Get rid of Bonobo
Last modified: 2011-02-02 15:36:53 UTC
Bonobo will be removed for GNOME 3. D-Bus (and other stuff) is available nowadays.
src/tracker-search-bar/tracker-applet.c: #include <bonobo/bonobo-ui-component.h Seems that this bug depends on fixing the panel. Adding dependency
Fixed, thanks for noticing! :)
I've reopening this bug because seems that there are still some Bonobo-related code: #:~/git/tracker(master)$ git grep Bonobo NEWS: * Fixes GB#600081, Get rid of Bonobo docs/manpages/tracker-search-tool.1:Show Bonobo Activation options src/tracker-search-bar/GNOME_Search_Bar_Applet.server.in.in: <item value="IDL:Bonobo/GenericFactory:1.0"/> src/tracker-search-bar/GNOME_Search_Bar_Applet.server.in.in: <item value="IDL:Bonobo/Unknown:1.0"/> src/tracker-search-bar/GNOME_Search_Bar_Applet.server.in.in: <item value="IDL:Bonobo/Control:1.0"/> src/tracker-search-bar/GNOME_Search_Bar_Applet.server.in.in: <item value="IDL:Bonobo/Unknown:1.0"/> src/tracker-search-bar/tracker-applet.c:static void applet_about_cb (BonoboUIComponent *uic, src/tracker-search-bar/tracker-applet.c:static const BonoboUIVerb applet_menu_verbs [] = { src/tracker-search-bar/tracker-applet.c:applet_about_cb (BonoboUIComponent *uic, src/tracker-search-bar/tracker-applet.c:applet_destroy_cb (BonoboObject *object, src/tracker-search-bar/tracker-applet.c: * Generate the boilerplate to hook into GObject/Bonobo. src/tracker-search-bar/tracker-applet.c: BONOBO_UI_UNSAFE_VERB ("about", applet_about_cb), src/tracker-search-bar/tracker-applet.c: BONOBO_UI_VERB_END src/tracker-search-bar/tracker-applet.c:PANEL_APPLET_BONOBO_FACTORY ("OAFIID:GNOME_Search_Bar_Applet_Factory", src/tracker-search-bar/Makefile.am:# Panel applet bonobo stuff src/tracker-search-bar/Makefile.am:serverdir = $(libdir)/bonobo/servers
(In reply to comment #3) > I've reopening this bug because seems that there are still some Bonobo-related > code: > > #:~/git/tracker(master)$ git grep Bonobo > NEWS: * Fixes GB#600081, Get rid of Bonobo > docs/manpages/tracker-search-tool.1:Show Bonobo Activation options > src/tracker-search-bar/GNOME_Search_Bar_Applet.server.in.in: <item > value="IDL:Bonobo/GenericFactory:1.0"/> > src/tracker-search-bar/GNOME_Search_Bar_Applet.server.in.in: <item > value="IDL:Bonobo/Unknown:1.0"/> > src/tracker-search-bar/GNOME_Search_Bar_Applet.server.in.in: <item > value="IDL:Bonobo/Control:1.0"/> > src/tracker-search-bar/GNOME_Search_Bar_Applet.server.in.in: <item > value="IDL:Bonobo/Unknown:1.0"/> > src/tracker-search-bar/tracker-applet.c:static void applet_about_cb > (BonoboUIComponent *uic, > src/tracker-search-bar/tracker-applet.c:static const BonoboUIVerb > applet_menu_verbs [] = { > src/tracker-search-bar/tracker-applet.c:applet_about_cb (BonoboUIComponent > *uic, > src/tracker-search-bar/tracker-applet.c:applet_destroy_cb (BonoboObject > *object, > src/tracker-search-bar/tracker-applet.c: * Generate the boilerplate to hook > into GObject/Bonobo. > src/tracker-search-bar/tracker-applet.c: BONOBO_UI_UNSAFE_VERB ("about", > applet_about_cb), > src/tracker-search-bar/tracker-applet.c: BONOBO_UI_VERB_END > src/tracker-search-bar/tracker-applet.c:PANEL_APPLET_BONOBO_FACTORY > ("OAFIID:GNOME_Search_Bar_Applet_Factory", > src/tracker-search-bar/Makefile.am:# Panel applet bonobo stuff > src/tracker-search-bar/Makefile.am:serverdir = $(libdir)/bonobo/servers How do we remove bonobo then? I thought it was required for applets? If there is a way I am unaware of then the live.gnome.org docs need updating too: http://live.gnome.org/GnomeLove/PanelAppletTutorial
See the dependency list of this bug report.
Steps to do the transition collected here: http://live.gnome.org/GnomeGoals/AppletsDbusMigration
Any news about using the new libpanelapplet-3 (DBus-based) api mentioned above?
(In reply to comment #7) > Any news about using the new libpanelapplet-3 (DBus-based) api mentioned above? So is the proposal that Ivan links to in comment #6 actually final, it doesn't say it is? If that's the way forward we could put some effort into producing an update for this.
Martyn: Your NEEDINFO is against who?
(In reply to comment #9) > Martyn: Your NEEDINFO is against who? Javier, you, anyone that knows.
Chatted with KaL, he said I could remove the warning from the wikipage.
Hello Martyn, There are some possible solutions here: From a GNOME3 point of view, you should drop the status icon and use notifications for actions when running in background. (This solution is compatible with GNOME2 as libnotify support notification persistence now) Take a look here: http://live.gnome.org/GnomeShell/Design/Guidelines/MessageTray/Compatibility If you still want the applet in GNOME2 systems, you should port the applet to the new API: http://live.gnome.org/GnomeGoals/AppletsDbusMigration I's suggest switching to the notification system.
(In reply to comment #12) > Hello Martyn, Hi Javier, > There are some possible solutions here: > From a GNOME3 point of view, you should drop the status icon and use > notifications for actions when running in background. > (This solution is compatible with GNOME2 as libnotify support notification > persistence now) > > Take a look here: > http://live.gnome.org/GnomeShell/Design/Guidelines/MessageTray/Compatibility I like the idea of this. > If you still want the applet in GNOME2 systems, you should port the applet to > the new API: http://live.gnome.org/GnomeGoals/AppletsDbusMigration > > I's suggest switching to the notification system. The situation here is that the tracker-status-icon is a useful UI for developers. Saying that, tracker-status does the same job really. I am reluctant to remove status-icon, but it is clear it can't stay as it is. Let me think about this and see what the rest of the team think.
Javier, I have created a branch with the proposed work to make this happen. It is so far untested because I don't have a gnome-panel to test with set up yet. The branch: http://git.gnome.org/browse/tracker/log/?h=no-bonobo If you or anyone is able to test this and confirm it works, I will merge to master.
A few points to note about the current state of the branch before I forget: 1. The "destroy" signal we used before didn't seem obvious without Bonobo? (it is currently commented out and should be fixed) 2. The menu ui xml doesn't look right to me, we probably need some standard before/after xml in there too. 3. The tutorial suggests -DMENU_UI_DIR=\""$(xmluidir)"\" but I don't actually know what xmluidir should be? So I stuck with the $(pkgdatadir) for the .ui and .xml files (so they will be in the same place).
Juergbi says this works, so merging to master and marking as fixed. This problem has been fixed in the development version. The fix will be available in the next major software release. Thank you for your bug report.