Index: plugins/pager/pager.c =================================================================== --- plugins/pager/pager.c (revision 25910) +++ plugins/pager/pager.c (working copy) @@ -43,6 +43,7 @@ int screen_changed_id; int screen_size_changed_id; + NetkPagerDisplayMode display_mode; int rows; guint scrolling:1; } @@ -128,6 +129,7 @@ XfceRc *rc; int rows = 1; gboolean scrolling = TRUE; + NetkPagerDisplayMode display_mode = NETK_PAGER_DISPLAY_CONTENT; if ((file = xfce_panel_plugin_lookup_rc_file (plugin)) != NULL) { @@ -137,12 +139,14 @@ if (rc != NULL) { rows = xfce_rc_read_int_entry (rc, "rows", 1); - scrolling = xfce_rc_read_bool_entry (rc, "scrolling", TRUE); + scrolling = xfce_rc_read_bool_entry (rc, "scrolling", TRUE); + display_mode = xfce_rc_read_int_entry (rc, "display_mode", 1); } } pager->rows = rows; pager->scrolling = scrolling; + pager->display_mode = display_mode; } static void @@ -164,6 +168,8 @@ xfce_rc_write_bool_entry (rc, "scrolling", pager->scrolling); + xfce_rc_write_int_entry (rc, "display_mode", pager->display_mode); + xfce_rc_close (rc); } @@ -263,6 +269,7 @@ xfce_panel_plugin_get_orientation (plugin)); netk_pager_set_n_rows (NETK_PAGER (pager->pager), pager->rows); netk_pager_set_workspace_scrolling (NETK_PAGER (pager->pager), pager->scrolling); + netk_pager_set_display_mode(NETK_PAGER (pager->pager), pager->display_mode); gtk_widget_show (pager->pager); gtk_container_add (GTK_CONTAINER (plugin), pager->pager); @@ -316,6 +323,21 @@ } static void +workspace_show_names_toggled (GtkWidget *button, Pager *pager) +{ + gboolean show_names = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)); + + NetkPagerDisplayMode display_mode = show_names?NETK_PAGER_DISPLAY_NAME:NETK_PAGER_DISPLAY_CONTENT; + + if (pager->display_mode != display_mode) + { + pager->display_mode = display_mode; + + netk_pager_set_display_mode(NETK_PAGER (pager->pager), pager->display_mode); + } +} + +static void pager_dialog_response (GtkWidget *dlg, int reponse, Pager *pager) { g_object_set_data (G_OBJECT (pager->plugin), "dialog", NULL); @@ -328,7 +350,7 @@ static void pager_properties_dialog (XfcePanelPlugin *plugin, Pager *pager) { - GtkWidget *dlg, *vbox, *hbox, *label, *spin, *scrolling; + GtkWidget *dlg, *vbox, *hbox, *label, *spin, *scrolling, *show_names; int max; xfce_panel_plugin_block_menu (plugin); @@ -401,7 +423,22 @@ g_signal_connect (scrolling, "toggled", G_CALLBACK (workspace_scrolling_toggled), pager); + + show_names = gtk_check_button_new_with_mnemonic (_("Show workspace names")); + gtk_widget_show (show_names); + gtk_box_pack_start (GTK_BOX (vbox), show_names, FALSE, FALSE, 0); + if(pager->display_mode == NETK_PAGER_DISPLAY_NAME) + { + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (show_names), TRUE); + } + else + { + gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (show_names), FALSE); + } + g_signal_connect (show_names, "toggled", + G_CALLBACK (workspace_show_names_toggled), pager); + gtk_widget_show (dlg); }