After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 600081 - Get rid of Bonobo
Get rid of Bonobo
Status: RESOLVED FIXED
Product: tracker
Classification: Core
Component: Applet / Search Bar
git master
Other Linux
: Normal normal
: ---
Assigned To: tracker-applet
Jamie McCracken
Depends on: 572131
Blocks: 588321 620830
 
 
Reported: 2009-10-29 23:09 UTC by Javier Jardón (IRC: jjardon)
Modified: 2011-02-02 15:36 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Javier Jardón (IRC: jjardon) 2009-10-29 23:09:33 UTC
Bonobo will be removed for GNOME 3.
D-Bus (and other stuff) is available nowadays.
Comment 1 Javier Jardón (IRC: jjardon) 2009-10-29 23:11:22 UTC
src/tracker-search-bar/tracker-applet.c: #include <bonobo/bonobo-ui-component.h

Seems that this bug depends on fixing the panel. Adding dependency
Comment 2 Martyn Russell 2009-11-02 15:57:57 UTC
Fixed, thanks for noticing! :)
Comment 3 Javier Jardón (IRC: jjardon) 2009-12-23 16:41:21 UTC
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
Comment 4 Martyn Russell 2010-02-02 15:10:08 UTC
(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
Comment 5 André Klapper 2010-02-02 15:19:59 UTC
See the dependency list of this bug report.
Comment 6 Ivan Frade 2010-03-17 19:18:35 UTC
Steps to do the transition collected here:

http://live.gnome.org/GnomeGoals/AppletsDbusMigration
Comment 7 Javier Jardón (IRC: jjardon) 2010-11-22 22:08:24 UTC
Any news about using the new libpanelapplet-3 (DBus-based) api mentioned above?
Comment 8 Martyn Russell 2010-12-06 12:41:42 UTC
(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.
Comment 9 André Klapper 2010-12-06 13:08:01 UTC
Martyn: Your NEEDINFO is against who?
Comment 10 Martyn Russell 2010-12-06 13:33:09 UTC
(In reply to comment #9)
> Martyn: Your NEEDINFO is against who?

Javier, you, anyone that knows.
Comment 11 André Klapper 2010-12-07 11:58:46 UTC
Chatted with KaL, he said I could remove the warning from the wikipage.
Comment 12 Javier Jardón (IRC: jjardon) 2010-12-08 03:44:54 UTC
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.
Comment 13 Martyn Russell 2010-12-08 09:46:38 UTC
(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.
Comment 14 Martyn Russell 2010-12-29 15:49:39 UTC
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.
Comment 15 Martyn Russell 2010-12-29 15:54:27 UTC
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).
Comment 16 Martyn Russell 2011-02-02 15:36:53 UTC
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.