AwnApplet* awn_applet_factory_initp ( gchar* uid, gint orient, gint height ) { AwnApplet *applet = awn_applet_new( uid, orient, height ); GtkWidget *trash; GtkWidget *menu; GtkWidget *item; gnome_vfs_init (); /* trash */ trash = trash_applet_new (applet); /* menu */ menu = awn_applet_create_default_menu (applet); item = gtk_image_menu_item_new_from_stock (GTK_STOCK_ABOUT, NULL); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (show_about), trash); item = gtk_image_menu_item_new_from_stock (GTK_STOCK_HELP, NULL); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (show_help), trash); item = gtk_separator_menu_item_new (); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); item = gtk_menu_item_new_with_mnemonic ("_Empty the Wastebasket"); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (empty_trash), trash); item = gtk_image_menu_item_new_from_stock (GTK_STOCK_OPEN, NULL); gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), item); g_signal_connect (G_OBJECT (item), "activate", G_CALLBACK (open_trash), trash); g_signal_connect (G_OBJECT (applet), "button-release-event", G_CALLBACK (applet_button_release), menu); gtk_widget_set_size_request (GTK_WIDGET (applet), awn_applet_get_height (applet), awn_applet_get_height (applet) * 2); gtk_container_add (GTK_CONTAINER (applet), trash); gtk_widget_show_all (GTK_WIDGET (menu)); return applet; }
// entry method AwnApplet* awn_applet_factory_initp (const gchar *name, const gchar *uid, gint panel_id) { AwnApplet *applet; WobblyZini *wobblyzini; // initialize the applet applet = awn_applet_new (name, uid, panel_id); // our initialize wobblyzini = wobblyzini_applet_new(applet); // right-click handling g_signal_connect (G_OBJECT (applet), "button-press-event", G_CALLBACK (_button_clicked_event), applet); // just for debugging X stuff gdk_window_add_filter(NULL, filter_func, NULL); return applet; }