From 01c34579453893b76849400c9375dcc67c44622f Mon Sep 17 00:00:00 2001 From: Jasmine Hassan Date: Thu, 29 Nov 2012 19:39:28 +0200 Subject: [global-prefs|application] use MATE global 'show-desktop-icons' setting instead of a local-to-caja setting 'show-desktop' This key would indicate that file managers (by default Caja, but applies to others like Thunar or ROX) should handle desktop, i.e. draw a background and place icons there. Otherwise (when false), mate-settings-daemon will take over drawing desktop background. This is different from 'draw-background', which is a separate option used only for drawing background without icons (by mate-settings-daemon). To Caja, 'show-desktop-icons' implies 'draw-background', and so if set to false, Caja won't (needlessly) draw the desktop. However, if the user uses the "Background & Emblems dialog" to drop an image-pattern/color/reset on the desktop, Caja will again draw the desktop. For reference: https://bugzilla.gnome.org/show_bug.cgi?id=632225 --- src/caja-application.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/caja-application.c b/src/caja-application.c index 47a956c4..f09e2720 100644 --- a/src/caja-application.c +++ b/src/caja-application.c @@ -74,6 +74,8 @@ #include #include #include +#define MATE_DESKTOP_USE_UNSTABLE_API +#include #include "glibcompat.h" /* for g_list_free_full */ @@ -964,7 +966,7 @@ caja_application_startup (CajaApplication *application, char *accel_map_filename; if (!no_desktop && - !g_settings_get_boolean (caja_preferences, CAJA_PREFERENCES_SHOW_DESKTOP)) + !g_settings_get_boolean (mate_background_preferences, MATE_BG_KEY_SHOW_DESKTOP)) { no_desktop = TRUE; } @@ -989,7 +991,8 @@ caja_application_startup (CajaApplication *application, } /* Monitor the preference to show or hide the desktop */ - g_signal_connect_swapped (caja_preferences, "changed::" CAJA_PREFERENCES_SHOW_DESKTOP, + g_signal_connect_swapped (mate_background_preferences, + "changed::" MATE_BG_KEY_SHOW_DESKTOP, G_CALLBACK(desktop_changed_callback), G_OBJECT (application)); @@ -1567,7 +1570,7 @@ desktop_changed_callback (gpointer user_data) CajaApplication *application; application = CAJA_APPLICATION (user_data); - if (g_settings_get_boolean (caja_preferences, CAJA_PREFERENCES_SHOW_DESKTOP)) + if (g_settings_get_boolean (mate_background_preferences, MATE_BG_KEY_SHOW_DESKTOP)) { caja_application_open_desktop (application); } -- cgit v1.2.1