-diff -Nur xfdesktop4-4.4.0/settings/behavior-settings.c xfdesktop4-4.4.0.new/settings/behavior-settings.c
---- xfdesktop4-4.4.0/settings/behavior-settings.c 2007-01-20 22:18:37.000000000 +0100
-+++ xfdesktop4-4.4.0.new/settings/behavior-settings.c 2007-02-24 14:51:00.000000000 +0100
+diff --git a/xfdesktop/settings/behavior-settings.c b/xfdesktop/settings/behavior-settings.c
+index 829f076..fc257be 100644
+--- a/xfdesktop/settings/behavior-settings.c
++++ b/xfdesktop/settings/behavior-settings.c
@@ -22,6 +22,7 @@
#endif
#include "xfce-desktop.h"
#include "xfdesktop-common.h"
-@@ -40,6 +41,15 @@
+@@ -40,6 +41,16 @@ enum {
#endif
};
+ SHOW_HOME = 1,
+ SHOW_FS,
+ SHOW_TRASH,
-+ SHOW_REMOVABLE
++ SHOW_REMOVABLE,
++ SHOW_MAX
+};
+#endif
+
/* globals */
static gboolean show_windowlist = TRUE;
#ifdef USE_DESKTOP_MENU
-@@ -56,6 +66,72 @@
+@@ -56,6 +67,88 @@ static guint desktop_icons_font_size = 12; /* default, i guess */
static guint desktop_icons_icon_size = 32; /* default */
#endif
+{
+ gchar *rcfile;
+ XfceRc *conf;
-+ gboolean gb;
++ gboolean flags[SHOW_MAX];
+
+ rcfile = xfce_resource_save_location (XFCE_RESOURCE_CONFIG, "xfce4/desktop/xfdesktoprc", TRUE);
+ conf = xfce_rc_simple_open (rcfile, TRUE);
-+ xfce_rc_set_group (conf, "file-icons");
++ g_free(rcfile);
+
-+ gb = xfce_rc_read_bool_entry(conf, "show-home", FALSE);
-+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (bd->chk_show_home), gb);
-+ gb = xfce_rc_read_bool_entry(conf, "show-filesystem", FALSE);
-+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (bd->chk_show_fs), gb);
-+ gb = xfce_rc_read_bool_entry(conf, "show-trash", FALSE);
-+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (bd->chk_show_trash), gb);
-+ gb = xfce_rc_read_bool_entry(conf, "show-removable", FALSE);
-+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (bd->chk_show_removable), gb);
++ if(conf) {
++ xfce_rc_set_group (conf, "file-icons");
++
++#define get_bool(flag, setting) \
++ flags[flag] = xfce_rc_read_bool_entry(conf, setting, TRUE)
++ get_bool(SHOW_HOME, "show-home");
++ get_bool(SHOW_FS, "show-filesystem");
++ get_bool(SHOW_TRASH, "show-trash");
++ get_bool(SHOW_REMOVABLE, "show-removable");
++#undef get_bool
++
++ xfce_rc_close(conf);
++ } else {
++ gint flag;
++ /* By default, all icons are shown */
++ for(flag = 0; flag < SHOW_MAX; ++flag) {
++ flags[flag] = TRUE;
++ }
++ }
+
-+ xfce_rc_close(conf);
-+ g_free(rcfile);
++#define set_active(button, flag) \
++ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), flags[flag])
++ set_active(bd->chk_show_home, SHOW_HOME);
++ set_active(bd->chk_show_fs, SHOW_FS);
++ set_active(bd->chk_show_trash, SHOW_TRASH);
++ set_active(bd->chk_show_removable, SHOW_REMOVABLE);
++#undef set_active
+}
-+
++
+static void
+set_show_option(GtkWidget *w, gpointer user_data)
+{
static void
set_chk_option(GtkWidget *w, gpointer user_data)
{
-@@ -138,6 +214,10 @@
+@@ -138,6 +231,10 @@ set_di_option(GtkComboBox *combo,
} else
gtk_widget_set_sensitive(bd->vbox_icon_settings, FALSE);
mcs_manager_set_int(bd->plugin->manager, "desktopiconstyle",
BACKDROP_CHANNEL, desktop_icon_style);
-@@ -229,7 +309,7 @@
+@@ -229,7 +326,7 @@ behavior_page_create(BackdropDialog *bd)
GtkWidget *btn;
#endif
#ifdef ENABLE_DESKTOP_ICONS
#endif
kiosk = xfce_kiosk_new("xfdesktop");
-@@ -349,12 +429,55 @@
+@@ -349,12 +446,55 @@ behavior_page_create(BackdropDialog *bd)
G_CALLBACK(set_sbtn_option), bd);
gtk_widget_set_sensitive(bd->frame_sysfont, !desktop_icons_use_system_font);
#endif
xfce_kiosk_free(kiosk);
-diff -Nur xfdesktop4-4.4.0/settings/settings-common.h xfdesktop4-4.4.0.new/settings/settings-common.h
---- xfdesktop4-4.4.0/settings/settings-common.h 2007-01-20 22:18:37.000000000 +0100
-+++ xfdesktop4-4.4.0.new/settings/settings-common.h 2007-02-24 14:50:32.000000000 +0100
-@@ -45,6 +45,11 @@
+diff --git a/xfdesktop/settings/settings-common.h b/xfdesktop/settings/settings-common.h
+index 23ee513..00f0113 100644
+--- a/xfdesktop/settings/settings-common.h
++++ b/xfdesktop/settings/settings-common.h
+@@ -45,6 +45,11 @@ typedef struct {
#ifdef ENABLE_DESKTOP_ICONS
GtkWidget *vbox_icon_settings;
GtkWidget *frame_sysfont;