|  |  |  |  | 
To migrate from LibBonobo to the DBUS API remove PANEL_APPLET_BONOBO_FACTORY and replace it with either PANEL_APPLET_OUT_PROCESS_FACTORY or PANEL_APPLET_IN_PROCESS_FACTORY depending if you want an out-process or in-process applet, respectively.
                The new macros have the same parameters as the old, except the version and description parameters have been
                removed. Also the OAFIID:GNOME_ prefix of the first parameter can be dropped both from
                the factory ID and the applet type name. The following
                two code listings show the difference between the old and new macro definitions:
            
                    PANEL_APPLET_BONOBO_FACTORY ("OAFIID:GNOME_HelloWorldFactory",
                                                 PANEL_TYPE_APPLET,
                                                 "WindowNavigationApplets",
                                                 "0",
                                                 hello_world_factory,
                                                 NULL)
                
                    PANEL_APPLET_OUT_PROCESS_FACTORY ("HelloWorldFactory",
                                                      PANEL_TYPE_APPLET,
                                                      hello_world_factory,
                                                      NULL)
                
                The applet factory callback, in this case the hello_world_factory usually contains a
                check to ensure that the applet factory supports the requested applet. Here the
                OAFIID:GNOME_ prefix should be dropped as well, see the following two code listings.
            
When you drop the prefix here, you must also remove the prefix from the applet name in the Panel Applet File.
                    static gboolean
                    hello_world_factory (PanelApplet *applet,
                    const char  *iid,
                    gpointer     data)
                    {
                    if (!g_strcmp (iid, "OAFIID:GNOME_HelloWorldApplet") != 0)
                    return FALSE;
                    hello_world_applet_fill (applet);
                    return TRUE;
                    }
                
                    static gboolean
                    hello_world_factory (PanelApplet *applet,
                    const char  *iid,
                    gpointer     data)
                    {
                    if (!g_strcmp0 (iid, "HelloWorldApplet") != 0)
                    return FALSE;
                    hello_world_applet_fill (applet);
                    return TRUE;
                    }
                
                    The old applet will have a service.in.in file that was used to register the
                    applet with the GNOME Panel. This file must be renamed to .panel-applet and its
                    content changed to match the format of the new file type. See
                    Panel Applet Files for a detailed explanation of the
                    valid fields. If you decided to use the out-process factory macro, then you should also supply a
                    D-BUS Service File so your applet can be started
                    using D-BUS activation.
                
                    For compatibility you can keep the old BonoboId. This field can contain the old
                    bonobo identifier. It allows the panel to load applets using existing configuration data in your panels
                    settings. It can be a single string or a list of strings in case of applets with more than one
                    identifier.
                
                        [Applet Factory]
                        Id=HellWorldFactory
                        Location=@LOCATION@
                        _Name=Hello World Applet Factory
                        _Description=Factory for the our example applets
                        [HelloWorldApplet]
                        _Name=Hello World
                        _Description=Factory for the Hello World example applet
                        Icon=hello-world-icon
                        BonoboId=OAFIID:GNOME_HelloWorldApplet
                        X-GNOME-Bugzilla-Bugzilla=GNOME
                        X-GNOME-Bugzilla-Product=gnome-panel
                        X-GNOME-Bugzilla-Component=hello-world-applet
                        X-GNOME-Bugzilla-Version=@VERSION@
                        X-GNOME-Bugzilla-OtherBinaries=hello-world-applet