diff --git a/src/xfdesktop-file-icon-manager.c b/src/xfdesktop-file-icon-manager.c index 83f1bae..9f50632 100644 --- a/src/xfdesktop-file-icon-manager.c +++ b/src/xfdesktop-file-icon-manager.c @@ -76,7 +76,7 @@ #include #include -#define SAVE_DELAY 7000 +#define SAVE_DELAY 1000 #define BORDER 8 typedef enum @@ -1828,6 +1828,12 @@ xfdesktop_file_icon_position_changed(XfdesktopFileIcon *icon, /* ***** */ +void +xfdesktop_file_icon_save(gpointer user_data) +{ + xfdesktop_file_icon_position_changed(NULL, user_data); +} + gboolean xfdesktop_file_icon_manager_get_cached_icon_position(XfdesktopFileIconManager *fmanager, const gchar *name, diff --git a/src/xfdesktop-file-icon-manager.h b/src/xfdesktop-file-icon-manager.h index 847f573..1317287 100644 --- a/src/xfdesktop-file-icon-manager.h +++ b/src/xfdesktop-file-icon-manager.h @@ -55,6 +55,8 @@ GType xfdesktop_file_icon_manager_get_type(void) G_GNUC_CONST; XfdesktopIconViewManager *xfdesktop_file_icon_manager_new(GFile *folder, XfconfChannel *channel); +void xfdesktop_file_icon_save(gpointer user_data); + gboolean xfdesktop_file_icon_manager_get_cached_icon_position( XfdesktopFileIconManager *fmanager, const gchar *name, diff --git a/src/xfdesktop-icon-view.c b/src/xfdesktop-icon-view.c index d3c4ebc..b9b325b 100644 --- a/src/xfdesktop-icon-view.c +++ b/src/xfdesktop-icon-view.c @@ -3258,6 +3258,8 @@ xfdesktop_move_all_cached_icons_to_desktop(XfdesktopIconView *icon_view) if(fmanager == NULL) return; + xfdesktop_file_icon_save(fmanager); + /* add all cached icons back */ for(l = icon_view->priv->pending_icons; l; l = l->next) { gint16 row, col;