Il 16/09/2011 10:13, Carlos Garcia Campos ha scritto:
> Excerpts from Syco's message of vie sep 16 09:26:53 +0200 2011:
>> I'm trying to create a panel applet, but I'm stuck at the first step:
>> I've created a file.cpp with the code from the official example at
>> http://developer.gnome.org/panel-applet/3.0/getting-started.example.html
>>
>> |#include <gtk/gtk.h>
>> #include <panel-applet.h>
>> static gboolean hello_world_applet_start (PanelApplet *applet) {
>> GtkWidget *label;
>> label = gtk_label_new ("Hello World");
>> gtk_container_add (GTK_CONTAINER (applet), label);
>> gtk_widget_show_all (GTK_WIDGET (applet));
>> return TRUE;
>> }
>> static gboolean hello_world_factory_callback (PanelApplet *applet, const
>> gchar *iid, gpointer data) {
>> gboolean retval = FALSE;
>> if (g_strcmp0 (iid, "HelloWorldApplet") == 0)
>> retval = hello_world_applet_start (applet);
>> return retval;
>> }
>> PANEL_APPLET_OUT_PROCESS_FACTORY ("HelloWorldFactory", PANEL_TYPE_APPLET,
>> hello_world_factory_callback, NULL)
>> |
>>
>>
>> compiled with
>>
>> |g++ -Wall -DGTK_DISABLE_SINGLE_INCLUDES -DGDK_DISABLE_DEPRECATED
>> -DGTK_DISABLE_DEPRECATED -DGSEAL_ENABLE `pkg-config --cflags --libs gtk+-3.0
>> libpanelapplet-4.0` *.cpp -o helloworld
>> |
>>
>>
>> and copied under
>>
>> |/usr/lib/gnome-panel/helloworld|
>>
>>
>> then I've created the file
>>
>> |/usr/share/gnome-panel/4.0/applets/helloworld.panel-applet|
>>
>> with this content:
>>
>> |[Applet Factory]
>> Id=HelloWorldFactory
>> InProcess=true
>> Location=/usr/lib/gnome-panel/helloworld
>> Name=Hello World Applet Factory
>> Description=Factory for the window navigation related applets
>>
>> [HelloWorldApplet]
>> Name=Hello World
>> Description=Factory for the Hello World applet example
>> Icon=hello-world-icon
>> |
>>
>>
>> all the code is taken from the documentation, but when I try to add the
>> applet to the panel I had this error:
>>
>> |** (gnome-panel:24803): WARNING **: Failed to load applet
>> HelloWorldFactory::HelloWorldApplet: /usr/lib/gnome-panel/helloworld: cannot
>> dynamically load executable|
>>
>>
>> what's wrong??
> The problem is that you are creating an out of process applet, using
> PANEL_APPLET_OUT_PROCESS_FACTORY, but defining it as in process in the
> panel-applet file, InProcess=true. You can just remove both keys
> InProcess and Location from the panel-applet file and use a dbus
> service file to activate the applet.
>
>> Thanks.
> Regards,
thanks a lot,
I've have removed those lines from .panel-applet file and created
/usr/share/dbus-1/services/org.gnome.panel.applet.WindowManagerFactory.service
with
[D-BUS Service]
Name=org.gnome.panel.applet.HelloWorldFactory
Exec=/usr/lib/gnome-panel/helloworld
now it works.
Someone could insert this procedure in the official guide, it's not so
clear how to procede.
Anyway, thanks.
_______________________________________________
desktop-devel-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/desktop-devel-list