static gboolean geyes_applet_fill (MatePanelApplet *applet) { EyesApplet *eyes_applet; GtkActionGroup *action_group; gchar *ui_path; g_set_application_name (_("Eyes")); gtk_window_set_default_icon_name ("mate-eyes-applet"); mate_panel_applet_set_flags (applet, MATE_PANEL_APPLET_EXPAND_MINOR); eyes_applet = create_eyes (applet); mate_panel_applet_add_preferences (applet, "/schemas/apps/geyes/prefs", NULL); eyes_applet->timeout_id = g_timeout_add ( UPDATE_TIMEOUT, (GtkFunction) timer_cb, eyes_applet); action_group = gtk_action_group_new ("Geyes Applet Actions"); gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE); gtk_action_group_add_actions (action_group, geyes_applet_menu_actions, G_N_ELEMENTS (geyes_applet_menu_actions), eyes_applet); ui_path = g_build_filename (GEYES_MENU_UI_DIR, "geyes-applet-menu.xml", NULL); mate_panel_applet_setup_menu_from_file (eyes_applet->applet, ui_path, action_group); g_free (ui_path); if (mate_panel_applet_get_locked_down (eyes_applet->applet)) { GtkAction *action; action = gtk_action_group_get_action (action_group, "Props"); gtk_action_set_visible (action, FALSE); } g_object_unref (action_group); gtk_widget_set_tooltip_text (GTK_WIDGET (eyes_applet->applet), _("Eyes")); set_atk_name_description (GTK_WIDGET (eyes_applet->applet), _("Eyes"), _("The eyes look in the direction of the mouse pointer")); g_signal_connect (eyes_applet->applet, "change_background", G_CALLBACK (applet_back_change), eyes_applet); g_signal_connect (eyes_applet->vbox, "destroy", G_CALLBACK (destroy_cb), eyes_applet); gtk_widget_show_all (GTK_WIDGET (eyes_applet->applet)); /* setup here and not in create eyes so the destroy signal is set so * that when there is an error within loading the theme * we can emit this signal */ if (properties_load (eyes_applet) == FALSE) return FALSE; setup_eyes (eyes_applet); return TRUE; }
gboolean workspace_switcher_applet_fill(MatePanelApplet* applet) { PagerData* pager; GtkActionGroup* action_group; gchar* ui_path; GError* error; gboolean display_names; mate_panel_applet_add_preferences(applet, "/schemas/apps/workspace_switcher_applet/prefs", NULL); pager = g_new0(PagerData, 1); pager->applet = GTK_WIDGET(applet); mate_panel_applet_set_flags(MATE_PANEL_APPLET(pager->applet), MATE_PANEL_APPLET_EXPAND_MINOR); setup_mateconf(pager); error = NULL; pager->n_rows = mate_panel_applet_mateconf_get_int(applet, "num_rows", &error); if (error) { g_printerr(_("Error loading num_rows value for Workspace Switcher: %s\n"), error->message); g_error_free(error); /* leave current value */ } pager->n_rows = CLAMP(pager->n_rows, 1, MAX_REASONABLE_ROWS); error = NULL; display_names = mate_panel_applet_mateconf_get_bool(applet, "display_workspace_names", &error); if (error) { g_printerr(_("Error loading display_workspace_names value for Workspace Switcher: %s\n"), error->message); g_error_free(error); /* leave current value */ } if (display_names) { pager->display_mode = MATEWNCK_PAGER_DISPLAY_NAME; } else { pager->display_mode = MATEWNCK_PAGER_DISPLAY_CONTENT; } error = NULL; pager->display_all = mate_panel_applet_mateconf_get_bool(applet, "display_all_workspaces", &error); if (error) { g_printerr(_("Error loading display_all_workspaces value for Workspace Switcher: %s\n"), error->message); g_error_free(error); /* leave current value */ } switch (mate_panel_applet_get_orient(applet)) { case MATE_PANEL_APPLET_ORIENT_LEFT: case MATE_PANEL_APPLET_ORIENT_RIGHT: pager->orientation = GTK_ORIENTATION_VERTICAL; break; case MATE_PANEL_APPLET_ORIENT_UP: case MATE_PANEL_APPLET_ORIENT_DOWN: default: pager->orientation = GTK_ORIENTATION_HORIZONTAL; break; } pager->pager = matewnck_pager_new(NULL); pager->screen = NULL; pager->wm = PAGER_WM_UNKNOWN; matewnck_pager_set_shadow_type(MATEWNCK_PAGER(pager->pager), GTK_SHADOW_IN); g_signal_connect(G_OBJECT(pager->pager), "destroy", G_CALLBACK(destroy_pager), pager); gtk_container_add(GTK_CONTAINER(pager->applet), pager->pager); gtk_widget_show(pager->pager); g_signal_connect(G_OBJECT(pager->applet), "realize", G_CALLBACK(applet_realized), pager); g_signal_connect(G_OBJECT(pager->applet), "unrealize", G_CALLBACK(applet_unrealized), pager); g_signal_connect(G_OBJECT(pager->applet), "change_orient", G_CALLBACK(applet_change_orient), pager); g_signal_connect(G_OBJECT(pager->applet), "scroll-event", G_CALLBACK(applet_scroll), pager); g_signal_connect(G_OBJECT(pager->applet), "change_background", G_CALLBACK(applet_change_background), pager); gtk_widget_show(pager->applet); mate_panel_applet_set_background_widget(MATE_PANEL_APPLET(pager->applet), GTK_WIDGET(pager->applet)); action_group = gtk_action_group_new("WorkspaceSwitcher Applet Actions"); gtk_action_group_set_translation_domain(action_group, GETTEXT_PACKAGE); gtk_action_group_add_actions(action_group, pager_menu_actions, G_N_ELEMENTS(pager_menu_actions), pager); ui_path = g_build_filename(WNCK_MENU_UI_DIR, "workspace-switcher-menu.xml", NULL); mate_panel_applet_setup_menu_from_file(MATE_PANEL_APPLET(pager->applet), ui_path, action_group); g_free(ui_path); if (mate_panel_applet_get_locked_down(MATE_PANEL_APPLET(pager->applet))) { GtkAction *action; action = gtk_action_group_get_action(action_group, "PagerPreferences"); gtk_action_set_visible(action, FALSE); } g_object_unref(action_group); return TRUE; }