From 52f00cf99c112181dd62612bb294531457b6036b Mon Sep 17 00:00:00 2001 From: Jasmine Hassan Date: Mon, 3 Dec 2012 14:31:54 +0200 Subject: [mate-bg] prefix defines BG_KEY's w/ MATE & move from .c to .h and define "show-desktop-icons" here too, to be used by Caja & m-s-d --- libmate-desktop/libmateui/mate-bg.h | 13 +++++++++++++ libmate-desktop/mate-bg.c | 36 ++++++++++++++---------------------- 2 files changed, 27 insertions(+), 22 deletions(-) diff --git a/libmate-desktop/libmateui/mate-bg.h b/libmate-desktop/libmateui/mate-bg.h index 8fbc230..3c8d53f 100644 --- a/libmate-desktop/libmateui/mate-bg.h +++ b/libmate-desktop/libmateui/mate-bg.h @@ -47,6 +47,19 @@ extern "C" { #define MATE_BG_SCHEMA "org.mate.background" +/* whether to draw the desktop bg */ +#define MATE_BG_KEY_DRAW_BACKGROUND "draw-background" + +/* whether Caja or mate-settings-daemon draw the desktop */ +#define MATE_BG_KEY_SHOW_DESKTOP "show-desktop-icons" + +#define MATE_BG_KEY_PRIMARY_COLOR "primary-color" +#define MATE_BG_KEY_SECONDARY_COLOR "secondary-color" +#define MATE_BG_KEY_COLOR_TYPE "color-shading-type" +#define MATE_BG_KEY_PICTURE_PLACEMENT "picture-options" +#define MATE_BG_KEY_PICTURE_OPACITY "picture-opacity" +#define MATE_BG_KEY_PICTURE_FILENAME "picture-filename" + typedef struct _MateBG MateBG; typedef struct _MateBGClass MateBGClass; diff --git a/libmate-desktop/mate-bg.c b/libmate-desktop/mate-bg.c index 4b7ccf4..c1e49be 100644 --- a/libmate-desktop/mate-bg.c +++ b/libmate-desktop/mate-bg.c @@ -52,14 +52,6 @@ Author: Soren Sandmann #define cairo_surface_destroy g_object_unref #endif -#define BG_KEY_DRAW_BACKGROUND "draw-background" -#define BG_KEY_PRIMARY_COLOR "primary-color" -#define BG_KEY_SECONDARY_COLOR "secondary-color" -#define BG_KEY_COLOR_TYPE "color-shading-type" -#define BG_KEY_PICTURE_PLACEMENT "picture-options" -#define BG_KEY_PICTURE_OPACITY "picture-opacity" -#define BG_KEY_PICTURE_FILENAME "picture-filename" - /* We keep the large pixbufs around if the next update in the slideshow is less than 60 seconds away */ #define KEEP_EXPENSIVE_CACHE_SECS 60 @@ -363,11 +355,11 @@ mate_bg_load_from_gsettings (MateBG *bg, g_return_if_fail (MATE_IS_BG (bg)); g_return_if_fail (G_IS_SETTINGS (settings)); - bg->is_enabled = g_settings_get_boolean (settings, BG_KEY_DRAW_BACKGROUND); + bg->is_enabled = g_settings_get_boolean (settings, MATE_BG_KEY_DRAW_BACKGROUND); /* Filename */ filename = NULL; - tmp = g_settings_get_string (settings, BG_KEY_PICTURE_FILENAME); + tmp = g_settings_get_string (settings, MATE_BG_KEY_PICTURE_FILENAME); if (tmp && *tmp != '\0') { /* FIXME: UTF-8 checks should go away. * picture-filename is of type string, which can only be used for @@ -386,26 +378,26 @@ mate_bg_load_from_gsettings (MateBG *bg, /* Fallback to default BG if the filename set is non-existent */ if (filename != NULL && !g_file_test (filename, G_FILE_TEST_EXISTS)) { /* FIXME: better to use g_settings_get_mapped() here */ - g_settings_reset (settings, BG_KEY_PICTURE_FILENAME); - filename = g_settings_get_string (settings, BG_KEY_PICTURE_FILENAME); + g_settings_reset (settings, MATE_BG_KEY_PICTURE_FILENAME); + filename = g_settings_get_string (settings, MATE_BG_KEY_PICTURE_FILENAME); } } g_free (tmp); /* Colors */ - tmp = g_settings_get_string (settings, BG_KEY_PRIMARY_COLOR); + tmp = g_settings_get_string (settings, MATE_BG_KEY_PRIMARY_COLOR); color_from_string (tmp, &c1); g_free (tmp); - tmp = g_settings_get_string (settings, BG_KEY_SECONDARY_COLOR); + tmp = g_settings_get_string (settings, MATE_BG_KEY_SECONDARY_COLOR); color_from_string (tmp, &c2); g_free (tmp); /* Color type */ - ctype = g_settings_get_enum (settings, BG_KEY_COLOR_TYPE); + ctype = g_settings_get_enum (settings, MATE_BG_KEY_COLOR_TYPE); /* Placement */ - placement = g_settings_get_enum (settings, BG_KEY_PICTURE_PLACEMENT); + placement = g_settings_get_enum (settings, MATE_BG_KEY_PICTURE_PLACEMENT); mate_bg_set_color (bg, ctype, &c1, &c2); mate_bg_set_placement (bg, placement); @@ -439,12 +431,12 @@ mate_bg_save_to_gsettings (MateBG *bg, g_settings_delay (settings); - g_settings_set_boolean (settings, BG_KEY_DRAW_BACKGROUND, bg->is_enabled); - g_settings_set_string (settings, BG_KEY_PICTURE_FILENAME, bg->filename); - g_settings_set_enum (settings, BG_KEY_PICTURE_PLACEMENT, bg->placement); - g_settings_set_string (settings, BG_KEY_PRIMARY_COLOR, primary); - g_settings_set_string (settings, BG_KEY_SECONDARY_COLOR, secondary); - g_settings_set_enum (settings, BG_KEY_COLOR_TYPE, bg->color_type); + g_settings_set_boolean (settings, MATE_BG_KEY_DRAW_BACKGROUND, bg->is_enabled); + g_settings_set_string (settings, MATE_BG_KEY_PICTURE_FILENAME, bg->filename); + g_settings_set_enum (settings, MATE_BG_KEY_PICTURE_PLACEMENT, bg->placement); + g_settings_set_string (settings, MATE_BG_KEY_PRIMARY_COLOR, primary); + g_settings_set_string (settings, MATE_BG_KEY_SECONDARY_COLOR, secondary); + g_settings_set_enum (settings, MATE_BG_KEY_COLOR_TYPE, bg->color_type); /* Apply changes atomically. */ g_settings_apply (settings); -- cgit v1.2.1 From c337d8947f2e0e13d87e415760de57fecdb81389 Mon Sep 17 00:00:00 2001 From: Jasmine Hassan Date: Mon, 3 Dec 2012 14:38:36 +0200 Subject: [mate-bg|schema] add "background-fade" setting, and define the key in header to make the fading effect optional, either when caja or m-s-d is drawing the bg. This is hopefully useful for those running on older hardware, as the fading effect could delay login/startup a bit. For reference, see: https://bugzilla.gnome.org/show_bug.cgi?id=623174 --- libmate-desktop/libmateui/mate-bg.h | 3 +++ schemas/org.mate.background.gschema.xml.in.in | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/libmate-desktop/libmateui/mate-bg.h b/libmate-desktop/libmateui/mate-bg.h index 3c8d53f..14f576f 100644 --- a/libmate-desktop/libmateui/mate-bg.h +++ b/libmate-desktop/libmateui/mate-bg.h @@ -53,6 +53,9 @@ extern "C" { /* whether Caja or mate-settings-daemon draw the desktop */ #define MATE_BG_KEY_SHOW_DESKTOP "show-desktop-icons" +/* whether to fade when changing background (By Caja/m-s-d) */ +#define MATE_BG_KEY_BACKGROUND_FADE "background-fade" + #define MATE_BG_KEY_PRIMARY_COLOR "primary-color" #define MATE_BG_KEY_SECONDARY_COLOR "secondary-color" #define MATE_BG_KEY_COLOR_TYPE "color-shading-type" diff --git a/schemas/org.mate.background.gschema.xml.in.in b/schemas/org.mate.background.gschema.xml.in.in index 78cceab..f9b4b1c 100644 --- a/schemas/org.mate.background.gschema.xml.in.in +++ b/schemas/org.mate.background.gschema.xml.in.in @@ -23,6 +23,11 @@ <_summary>Show Desktop Icons <_description>Have MATE file manager (Caja) draw the desktop icons. + + true + <_summary>Fade the background on change + <_description>If set to true, then MATE will change the desktop background with a fading effect. + 'zoom' <_summary>Picture Options -- cgit v1.2.1