static gboolean fish_applet_fill (FishApplet *fish) { PanelApplet *applet = (PanelApplet *) fish; fish->orientation = panel_applet_get_orient (applet); fish->settings = panel_applet_settings_new (applet, FISH_SCHEMA); fish->lockdown_settings = g_settings_new (LOCKDOWN_SCHEMA); g_signal_connect (fish->settings, "changed", G_CALLBACK (fish_applet_settings_changed), fish); /* NULL means we will update for all settings */ fish_applet_settings_changed (fish->settings, NULL, fish); /*gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE);*/ panel_applet_setup_menu_from_resource (applet, FISH_RESOURCE_PATH "fish-menu.xml"); panel_applet_setup_menu_action_entries (applet, fish_menu_actions, G_N_ELEMENTS (fish_menu_actions), fish); GSimpleAction *preferences = panel_applet_get_menu_action (applet, "preferences"); g_object_bind_property (applet, "locked-down", preferences, "enabled", G_BINDING_DEFAULT|G_BINDING_INVERT_BOOLEAN|G_BINDING_SYNC_CREATE); setup_fish_widget (fish); return TRUE; }
gboolean workspace_switcher_applet_fill (PanelApplet *applet) { PagerData *pager; GtkActionGroup *action_group; GtkAction *action; gboolean display_names; panel_applet_add_preferences (applet, "/schemas/apps/workspace_switcher_applet/prefs", NULL); pager = g_new0 (PagerData, 1); pager->applet = GTK_WIDGET (applet); panel_applet_set_flags (PANEL_APPLET (pager->applet), PANEL_APPLET_EXPAND_MINOR); setup_gconf (pager); pager->n_rows = g_settings_get_int (pager->settings, "num-rows"); display_names = g_settings_get_boolean (pager->settings, "display-workspace-names"); if (display_names) { pager->display_mode = WNCK_PAGER_DISPLAY_NAME; } else { pager->display_mode = WNCK_PAGER_DISPLAY_CONTENT; } pager->display_all = g_settings_get_boolean (pager->settings, "display-all-workspaces"); switch (panel_applet_get_orient (applet)) { case PANEL_APPLET_ORIENT_LEFT: case PANEL_APPLET_ORIENT_RIGHT: pager->orientation = GTK_ORIENTATION_VERTICAL; break; case PANEL_APPLET_ORIENT_UP: case PANEL_APPLET_ORIENT_DOWN: default: pager->orientation = GTK_ORIENTATION_HORIZONTAL; break; } pager->pager = wnck_pager_new (); pager->screen = NULL; pager->wm = PAGER_WM_UNKNOWN; wnck_pager_set_shadow_type (WNCK_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), "change_background", G_CALLBACK (applet_change_background), pager); gtk_widget_show (pager->applet); panel_applet_set_background_widget (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); panel_applet_setup_menu_from_resource (PANEL_APPLET (pager->applet), WNCKLET_RESOURCE_PATH "workspace-switcher-menu.xml", action_group); action = gtk_action_group_get_action (action_group, "PagerPreferences"); g_object_bind_property (pager->applet, "locked-down", action, "visible", G_BINDING_DEFAULT|G_BINDING_INVERT_BOOLEAN|G_BINDING_SYNC_CREATE); g_object_unref (action_group); return TRUE; }