Index: windowlist.c =================================================================== --- windowlist.c (revision 20101) +++ windowlist.c (working copy) @@ -303,27 +303,30 @@ else netk_workspace = netk_screen_get_active_workspace (wl->screen); - ws_name = netk_workspace_get_name (netk_workspace); + if (wl->show_all_workspaces) + { + ws_name = netk_workspace_get_name (netk_workspace); - if(!ws_name || atoi(ws_name) == i+1) - ws_label = g_strdup_printf(_("Workspace %d"), i+1); - else + if(!ws_name || atoi(ws_name) == i+1) + ws_label = g_strdup_printf(_("Workspace %d"), i+1); + else ws_label = g_markup_printf_escaped("%s", ws_name); - mi = gtk_menu_item_new_with_label (ws_label); - g_free (ws_label); - g_signal_connect_swapped (mi, "activate", - G_CALLBACK (netk_workspace_activate), netk_workspace); + mi = gtk_menu_item_new_with_label (ws_label); + g_free (ws_label); + g_signal_connect_swapped (mi, "activate", + G_CALLBACK (netk_workspace_activate), netk_workspace); - if (netk_workspace == active_workspace) - gtk_widget_modify_font (gtk_bin_get_child (GTK_BIN (mi)), bold); - else - gtk_widget_modify_font (gtk_bin_get_child (GTK_BIN (mi)), italic); + if (netk_workspace == active_workspace) + gtk_widget_modify_font (gtk_bin_get_child (GTK_BIN (mi)), bold); + else + gtk_widget_modify_font (gtk_bin_get_child (GTK_BIN (mi)), italic); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); - mi = gtk_separator_menu_item_new (); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); + mi = gtk_separator_menu_item_new (); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); + } for (li = windows; li; li = li->next) { @@ -370,61 +373,67 @@ gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); } - mi = gtk_separator_menu_item_new (); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); + if (wl->show_all_workspaces) + { + mi = gtk_separator_menu_item_new (); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); + } } pango_font_description_free(italic); pango_font_description_free(bold); pango_font_description_free(bold_italic); - /* Count workspace number */ - wscount = netk_screen_get_workspace_count (wl->screen); + if (wl->show_all_workspaces) + { + /* Count workspace number */ + wscount = netk_screen_get_workspace_count (wl->screen); - /* Add workspace */ - if (wl->show_windowlist_icons) - { - mi = gtk_image_menu_item_new_with_label (_("Add workspace")); - img = gtk_image_new_from_stock (GTK_STOCK_ADD, GTK_ICON_SIZE_MENU); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img); - } - else - { - mi = gtk_menu_item_new_with_label (_("Add workspace")); - } + /* Add workspace */ + if (wl->show_windowlist_icons) + { + mi = gtk_image_menu_item_new_with_label (_("Add workspace")); + img = gtk_image_new_from_stock (GTK_STOCK_ADD, GTK_ICON_SIZE_MENU); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img); + } + else + { + mi = gtk_menu_item_new_with_label (_("Add workspace")); + } - gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); - g_signal_connect_swapped (mi, "activate", G_CALLBACK (set_num_screens), - GINT_TO_POINTER (wscount + 1)); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); + g_signal_connect_swapped (mi, "activate", G_CALLBACK (set_num_screens), + GINT_TO_POINTER (wscount + 1)); - /* Remove workspace */ - if (!wl->show_all_workspaces) - { - netk_workspace = netk_screen_get_workspace (wl->screen, wscount-1); - ws_name = netk_workspace_get_name (netk_workspace); - } + /* Remove workspace */ + if (!wl->show_all_workspaces) + { + netk_workspace = netk_screen_get_workspace (wl->screen, wscount-1); + ws_name = netk_workspace_get_name (netk_workspace); + } - if(!ws_name || atoi(ws_name) == wscount) - rm_label = g_strdup_printf(_("Remove Workspace %d"), wscount); - else - rm_label = g_markup_printf_escaped(_("Remove Workspace '%s'"), ws_name); + if(!ws_name || atoi(ws_name) == wscount) + rm_label = g_strdup_printf(_("Remove Workspace %d"), wscount); + else + rm_label = g_markup_printf_escaped(_("Remove Workspace '%s'"), ws_name); - if (wl->show_windowlist_icons) - { - mi = gtk_image_menu_item_new_with_label (rm_label); - img = gtk_image_new_from_stock (GTK_STOCK_REMOVE, GTK_ICON_SIZE_MENU); - gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img); + if (wl->show_windowlist_icons) + { + mi = gtk_image_menu_item_new_with_label (rm_label); + img = gtk_image_new_from_stock (GTK_STOCK_REMOVE, GTK_ICON_SIZE_MENU); + gtk_image_menu_item_set_image (GTK_IMAGE_MENU_ITEM (mi), img); + } + else + { + mi = gtk_menu_item_new_with_label (rm_label); + } + + g_free (rm_label); + gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); + g_signal_connect_swapped (mi, "activate", G_CALLBACK (set_num_screens), + GINT_TO_POINTER (wscount - 1)); } - else - { - mi = gtk_menu_item_new_with_label (rm_label); - } - g_free (rm_label); - gtk_menu_shell_append (GTK_MENU_SHELL (menu), mi); - g_signal_connect_swapped (mi, "activate", G_CALLBACK (set_num_screens), - GINT_TO_POINTER (wscount - 1)); - /* Activate toggle button */ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (wl->button), TRUE);