diff options
author | root <root@rshg054.dnsready.net> | 2013-10-08 02:34:09 -0700 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2013-10-08 02:34:09 -0700 |
commit | 3a0ad5dc35d5cff379cdfc736b9cae856416fe6a (patch) | |
tree | a6af20a38d47d7a7ae8e1b98f70005c54644bbdd /community/nemo/remove-desktop-background.patch | |
parent | 9159b8ca1c97a398204d7a7d4d78c3394639bd02 (diff) |
Tue Oct 8 02:32:53 PDT 2013
Diffstat (limited to 'community/nemo/remove-desktop-background.patch')
-rw-r--r-- | community/nemo/remove-desktop-background.patch | 1050 |
1 files changed, 0 insertions, 1050 deletions
diff --git a/community/nemo/remove-desktop-background.patch b/community/nemo/remove-desktop-background.patch deleted file mode 100644 index 0301cc820..000000000 --- a/community/nemo/remove-desktop-background.patch +++ /dev/null @@ -1,1050 +0,0 @@ -From 5f82ebba474f6c1068a21f51ded2b0e26869ecaf Mon Sep 17 00:00:00 2001 -From: Michael Webster <miketwebster@gmail.com> -Date: Mon, 15 Apr 2013 18:44:35 -0400 -Subject: [PATCH 1/6] Don't render the background. Need to fix selected icon - style - ---- - src/nemo-desktop-icon-view.c | 18 +++--------------- - src/nemo-desktop-window.c | 15 ++++++++++++++- - 2 files changed, 17 insertions(+), 16 deletions(-) - -diff --git a/src/nemo-desktop-icon-view.c b/src/nemo-desktop-icon-view.c -index b903c5b..37cd8cb 100644 ---- a/src/nemo-desktop-icon-view.c -+++ b/src/nemo-desktop-icon-view.c -@@ -243,16 +243,6 @@ struct NemoDesktopIconViewDetails - static void - real_begin_loading (NemoView *object) - { -- NemoIconContainer *icon_container; -- NemoDesktopIconView *view; -- -- view = NEMO_DESKTOP_ICON_VIEW (object); -- -- icon_container = get_icon_container (view); -- if (view->details->background == NULL) { -- view->details->background = nemo_desktop_background_new (icon_container); -- } -- - NEMO_VIEW_CLASS (nemo_desktop_icon_view_parent_class)->begin_loading (object); - } - -@@ -298,11 +288,6 @@ struct NemoDesktopIconViewDetails - nemo_view_update_menus, - icon_view); - -- if (icon_view->details->background != NULL) { -- g_object_unref (icon_view->details->background); -- icon_view->details->background = NULL; -- } -- - G_OBJECT_CLASS (nemo_desktop_icon_view_parent_class)->dispose (object); - } - -@@ -652,6 +637,9 @@ struct NemoDesktopIconViewDetails - G_CALLBACK (nemo_view_update_menus), - desktop_icon_view); - -+ GdkRGBA transparent = { 0, 0, 0, 0 }; -+ gtk_widget_override_background_color (GTK_WIDGET (icon_container), GTK_STATE_FLAG_NORMAL, &transparent); -+ - have_cinnamon_settings = g_find_program_in_path ("cinnamon-settings") != NULL; - } - -diff --git a/src/nemo-desktop-window.c b/src/nemo-desktop-window.c -index 9c80c62..2d5c4e8 100644 ---- a/src/nemo-desktop-window.c -+++ b/src/nemo-desktop-window.c -@@ -97,6 +97,7 @@ struct NemoDesktopWindowDetails { - g_signal_connect_swapped (nemo_preferences, "changed::" NEMO_PREFERENCES_DESKTOP_IS_HOME_DIR, - G_CALLBACK (nemo_desktop_window_update_directory), - window); -+ - } - - static void -@@ -189,6 +190,12 @@ struct NemoDesktopWindowDetails { - /* Chain up to realize our children */ - GTK_WIDGET_CLASS (nemo_desktop_window_parent_class)->map (widget); - gdk_window_lower (gtk_widget_get_window (widget)); -+ -+ GdkWindow *window; -+ GdkRGBA transparent = { 0, 0, 0, 0 }; -+ -+ window = gtk_widget_get_window (widget); -+ gdk_window_set_background_rgba (window, &transparent); - } - - static void -@@ -254,6 +261,7 @@ struct NemoDesktopWindowDetails { - { - NemoDesktopWindow *window; - NemoDesktopWindowDetails *details; -+ GdkVisual *visual; - - window = NEMO_DESKTOP_WINDOW (widget); - details = window->details; -@@ -261,7 +269,12 @@ struct NemoDesktopWindowDetails { - /* Make sure we get keyboard events */ - gtk_widget_set_events (widget, gtk_widget_get_events (widget) - | GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK); -- -+ -+ visual = gdk_screen_get_rgba_visual (gtk_widget_get_screen (widget)); -+ if (visual) { -+ gtk_widget_set_visual (widget, visual); -+ } -+ - /* Do the work of realizing. */ - GTK_WIDGET_CLASS (nemo_desktop_window_parent_class)->realize (widget); - --- -1.8.1.6 - - -From 6b013acb8f0ad855d042d0e8d51350c539a37c21 Mon Sep 17 00:00:00 2001 -From: Michael Webster <miketwebster@gmail.com> -Date: Mon, 15 Apr 2013 20:03:03 -0400 -Subject: [PATCH 2/6] Remove nemo-desktop-background, the desktop window makes - a transparent background and just uses the existing rendered background from - muffin/g-s-d - ---- - libnemo-private/Makefile.am | 2 - - libnemo-private/nemo-desktop-background.c | 578 ------------------------------ - libnemo-private/nemo-desktop-background.h | 65 ---- - src/nemo-desktop-icon-view.c | 26 +- - 4 files changed, 13 insertions(+), 658 deletions(-) - delete mode 100644 libnemo-private/nemo-desktop-background.c - delete mode 100644 libnemo-private/nemo-desktop-background.h - -diff --git a/libnemo-private/Makefile.am b/libnemo-private/Makefile.am -index 3b46318..5fd797c 100644 ---- a/libnemo-private/Makefile.am -+++ b/libnemo-private/Makefile.am -@@ -81,8 +81,6 @@ libnemo_private_la_SOURCES = \ - nemo-debug.h \ - nemo-default-file-icon.c \ - nemo-default-file-icon.h \ -- nemo-desktop-background.c \ -- nemo-desktop-background.h \ - nemo-desktop-directory-file.c \ - nemo-desktop-directory-file.h \ - nemo-desktop-directory.c \ -diff --git a/libnemo-private/nemo-desktop-background.c b/libnemo-private/nemo-desktop-background.c -deleted file mode 100644 -index f8dc979..0000000 ---- a/libnemo-private/nemo-desktop-background.c -+++ /dev/null -@@ -1,578 +0,0 @@ --/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ -- --/* -- * nemo-desktop-background.c: Helper object to handle desktop background -- * changes. -- * -- * Copyright (C) 2000 Eazel, Inc. -- * Copyright (C) 2010 Cosimo Cecchi <cosimoc@gnome.org> -- * -- * This program is free software; you can redistribute it and/or -- * modify it under the terms of the GNU General Public License as -- * published by the Free Software Foundation; either version 2 of the -- * License, or (at your option) any later version. -- * -- * This program is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- * General Public License for more details. -- * -- * You should have received a copy of the GNU General Public -- * License along with this program; if not, write to the -- * Free Software Foundation, Inc., 51 Franklin Street - Suite 500, -- * Boston, MA 02110-1335, USA. -- * -- * Authors: Darin Adler <darin@bentspoon.com> -- * Cosimo Cecchi <cosimoc@gnome.org> -- */ -- --#include <config.h> -- --#include "nemo-desktop-background.h" -- --#include <eel/eel-gdk-extensions.h> --#include <eel/eel-gtk-extensions.h> -- --#include "nemo-global-preferences.h" -- --#define GNOME_DESKTOP_USE_UNSTABLE_API --#include <libgnome-desktop/gnome-bg.h> --#include <gdesktop-enums.h> -- --#include <gtk/gtk.h> --#include <string.h> -- --static void init_fade (NemoDesktopBackground *self); --static void free_fade (NemoDesktopBackground *self); --static void queue_background_change (NemoDesktopBackground *self); -- --static NemoDesktopBackground *singleton = NULL; -- --G_DEFINE_TYPE (NemoDesktopBackground, nemo_desktop_background, G_TYPE_OBJECT); -- --enum { -- PROP_WIDGET = 1, -- NUM_PROPERTIES, --}; -- --struct NemoDesktopBackgroundDetails { -- -- GtkWidget *widget; -- GnomeBG *bg; -- -- /* Realized data: */ -- cairo_surface_t *background_surface; -- GnomeBGCrossfade *fade; -- int background_entire_width; -- int background_entire_height; -- GdkColor default_color; -- -- /* Desktop screen size watcher */ -- gulong screen_size_handler; -- /* Desktop monitors configuration watcher */ -- gulong screen_monitors_handler; -- guint change_idle_id; --}; -- -- --static gboolean --background_settings_change_event_cb (GSettings *settings, -- gpointer keys, -- gint n_keys, -- gpointer user_data); -- -- --static void --free_fade (NemoDesktopBackground *self) --{ -- if (self->details->fade != NULL) { -- g_object_unref (self->details->fade); -- self->details->fade = NULL; -- } --} -- --static void --free_background_surface (NemoDesktopBackground *self) --{ -- cairo_surface_t *surface; -- -- surface = self->details->background_surface; -- if (surface != NULL) { -- cairo_surface_destroy (surface); -- self->details->background_surface = NULL; -- } --} -- --static void --nemo_desktop_background_finalize (GObject *object) --{ -- NemoDesktopBackground *self; -- -- self = NEMO_DESKTOP_BACKGROUND (object); -- -- g_signal_handlers_disconnect_by_func (gnome_background_preferences, -- background_settings_change_event_cb, -- self); -- -- free_background_surface (self); -- free_fade (self); -- -- g_clear_object (&self->details->bg); -- -- G_OBJECT_CLASS (nemo_desktop_background_parent_class)->finalize (object); --} -- --static void --nemo_desktop_background_unrealize (NemoDesktopBackground *self) --{ -- free_background_surface (self); -- -- self->details->background_entire_width = 0; -- self->details->background_entire_height = 0; -- self->details->default_color.red = 0xffff; -- self->details->default_color.green = 0xffff; -- self->details->default_color.blue = 0xffff; --} -- --static void --nemo_desktop_background_set_image_uri (NemoDesktopBackground *self, -- const char *image_uri) --{ -- char *filename; -- -- if (image_uri != NULL) { -- filename = g_filename_from_uri (image_uri, NULL, NULL); -- } -- else { -- filename = NULL; -- } -- -- gnome_bg_set_filename (self->details->bg, filename); -- -- g_free (filename); --} -- --static void --init_fade (NemoDesktopBackground *self) --{ -- GtkWidget *widget; -- gboolean do_fade; -- -- widget = self->details->widget; -- -- if (widget == NULL || !gtk_widget_get_realized (widget)) -- return; -- -- do_fade = g_settings_get_boolean (nemo_desktop_preferences, -- NEMO_PREFERENCES_DESKTOP_BACKGROUND_FADE); -- -- if (!do_fade) { -- return; -- } -- -- if (self->details->fade == NULL) { -- GdkWindow *window; -- GdkScreen *screen; -- int old_width, old_height, width, height; -- -- /* If this was the result of a screen size change, -- * we don't want to crossfade -- */ -- window = gtk_widget_get_window (widget); -- old_width = gdk_window_get_width (window); -- old_height = gdk_window_get_height (window); -- -- screen = gtk_widget_get_screen (widget); -- width = gdk_screen_get_width (screen); -- height = gdk_screen_get_height (screen); -- -- if (old_width == width && old_height == height) { -- self->details->fade = gnome_bg_crossfade_new (width, height); -- g_signal_connect_swapped (self->details->fade, -- "finished", -- G_CALLBACK (free_fade), -- self); -- } -- } -- -- if (self->details->fade != NULL && !gnome_bg_crossfade_is_started (self->details->fade)) { -- cairo_surface_t *start_surface; -- -- if (self->details->background_surface == NULL) { -- start_surface = gnome_bg_get_surface_from_root (gtk_widget_get_screen (widget)); -- } else { -- start_surface = cairo_surface_reference (self->details->background_surface); -- } -- gnome_bg_crossfade_set_start_surface (self->details->fade, -- start_surface); -- cairo_surface_destroy (start_surface); -- } --} -- --static void --screen_size_changed (GdkScreen *screen, -- NemoDesktopBackground *self) --{ -- queue_background_change (self); --} -- --static gboolean --nemo_desktop_background_ensure_realized (NemoDesktopBackground *self) --{ -- int entire_width; -- int entire_height; -- GdkScreen *screen; -- GdkWindow *window; -- -- screen = gtk_widget_get_screen (self->details->widget); -- entire_height = gdk_screen_get_height (screen); -- entire_width = gdk_screen_get_width (screen); -- -- /* If the window size is the same as last time, don't update */ -- if (entire_width == self->details->background_entire_width && -- entire_height == self->details->background_entire_height) { -- return FALSE; -- } -- -- free_background_surface (self); -- -- window = gtk_widget_get_window (self->details->widget); -- self->details->background_surface = gnome_bg_create_surface (self->details->bg, -- window, -- entire_width, entire_height, -- TRUE); -- -- /* We got the surface and everything, so we don't care about a change -- that is pending (unless things actually change after this time) */ -- g_object_set_data (G_OBJECT (self), -- "ignore-pending-change", GINT_TO_POINTER (TRUE)); -- -- self->details->background_entire_width = entire_width; -- self->details->background_entire_height = entire_height; -- -- return TRUE; --} -- --static void --on_fade_finished (GnomeBGCrossfade *fade, -- GdkWindow *window, -- gpointer user_data) --{ -- NemoDesktopBackground *self = user_data; -- -- nemo_desktop_background_ensure_realized (self); -- gnome_bg_set_surface_as_root (gdk_window_get_screen (window), -- self->details->background_surface); --} -- --static gboolean --fade_to_surface (NemoDesktopBackground *self, -- GdkWindow *window, -- cairo_surface_t *surface) --{ -- if (self->details->fade == NULL) { -- return FALSE; -- } -- -- if (!gnome_bg_crossfade_set_end_surface (self->details->fade, -- surface)) { -- return FALSE; -- } -- -- if (!gnome_bg_crossfade_is_started (self->details->fade)) { -- gnome_bg_crossfade_start (self->details->fade, window); -- g_signal_connect (self->details->fade, -- "finished", -- G_CALLBACK (on_fade_finished), self); -- } -- -- return gnome_bg_crossfade_is_started (self->details->fade); --} -- --static void --nemo_desktop_background_set_up_widget (NemoDesktopBackground *self) --{ -- GdkWindow *window; -- gboolean in_fade = FALSE; -- GtkWidget *widget; -- -- widget = self->details->widget; -- -- if (!gtk_widget_get_realized (widget)) { -- return; -- } -- -- nemo_desktop_background_ensure_realized (self); -- window = gtk_layout_get_bin_window (GTK_LAYOUT (widget)); -- -- in_fade = fade_to_surface (self, window, -- self->details->background_surface); -- -- if (!in_fade) { -- cairo_pattern_t *pattern; -- -- pattern = cairo_pattern_create_for_surface (self->details->background_surface); -- gdk_window_set_background_pattern (window, pattern); -- cairo_pattern_destroy (pattern); -- -- gnome_bg_set_surface_as_root (gtk_widget_get_screen (widget), -- self->details->background_surface); -- } --} -- --static gboolean --background_changed_cb (NemoDesktopBackground *self) --{ -- self->details->change_idle_id = 0; -- -- nemo_desktop_background_unrealize (self); -- nemo_desktop_background_set_up_widget (self); -- -- gtk_widget_queue_draw (self->details->widget); -- -- return FALSE; --} -- --static void --queue_background_change (NemoDesktopBackground *self) --{ -- if (self->details->change_idle_id != 0) { -- g_source_remove (self->details->change_idle_id); -- } -- -- self->details->change_idle_id = -- g_idle_add ((GSourceFunc) background_changed_cb, self); --} -- --static void --nemo_desktop_background_changed (GnomeBG *bg, -- gpointer user_data) --{ -- NemoDesktopBackground *self; -- -- self = user_data; -- init_fade (self); -- queue_background_change (self); --} -- --static void --nemo_desktop_background_transitioned (GnomeBG *bg, -- gpointer user_data) --{ -- NemoDesktopBackground *self; -- -- self = user_data; -- free_fade (self); -- queue_background_change (self); --} -- --static void --widget_realize_cb (GtkWidget *widget, -- gpointer user_data) --{ -- GdkScreen *screen; -- NemoDesktopBackground *self = user_data; -- -- screen = gtk_widget_get_screen (widget); -- -- if (self->details->screen_size_handler > 0) { -- g_signal_handler_disconnect (screen, -- self->details->screen_size_handler); -- } -- self->details->screen_size_handler = -- g_signal_connect (screen, "size_changed", -- G_CALLBACK (screen_size_changed), self); -- -- if (self->details->screen_monitors_handler > 0) { -- g_signal_handler_disconnect (screen, -- self->details->screen_monitors_handler); -- } -- self->details->screen_monitors_handler = -- g_signal_connect (screen, "monitors-changed", -- G_CALLBACK (screen_size_changed), self); -- nemo_desktop_background_set_up_widget (self); --} -- --static void --widget_unrealize_cb (GtkWidget *widget, -- gpointer user_data) --{ -- NemoDesktopBackground *self = user_data; -- -- if (self->details->screen_size_handler > 0) { -- g_signal_handler_disconnect (gtk_widget_get_screen (GTK_WIDGET (widget)), -- self->details->screen_size_handler); -- self->details->screen_size_handler = 0; -- } -- if (self->details->screen_monitors_handler > 0) { -- g_signal_handler_disconnect (gtk_widget_get_screen (GTK_WIDGET (widget)), -- self->details->screen_monitors_handler); -- self->details->screen_monitors_handler = 0; -- } --} -- --static void --on_widget_destroyed (GtkWidget *widget, -- gpointer user_data) --{ -- NemoDesktopBackground *self = user_data; -- -- if (self->details->change_idle_id != 0) { -- g_source_remove (self->details->change_idle_id); -- self->details->change_idle_id = 0; -- } -- -- free_fade (self); -- self->details->widget = NULL; --} -- --static gboolean --background_change_event_idle_cb (NemoDesktopBackground *self) --{ -- gnome_bg_load_from_preferences (self->details->bg, -- gnome_background_preferences); -- -- g_object_unref (self); -- -- return FALSE; --} -- --static gboolean --background_settings_change_event_cb (GSettings *settings, -- gpointer keys, -- gint n_keys, -- gpointer user_data) --{ -- NemoDesktopBackground *self = user_data; -- -- /* Need to defer signal processing otherwise -- * we would make the dconf backend deadlock. -- */ -- g_idle_add ((GSourceFunc) background_change_event_idle_cb, -- g_object_ref (self)); -- -- return FALSE; --} -- --static void --nemo_desktop_background_constructed (GObject *obj) --{ -- NemoDesktopBackground *self; -- GtkWidget *widget; -- -- self = NEMO_DESKTOP_BACKGROUND (obj); -- -- if (G_OBJECT_CLASS (nemo_desktop_background_parent_class)->constructed != NULL) { -- G_OBJECT_CLASS (nemo_desktop_background_parent_class)->constructed (obj); -- } -- -- widget = self->details->widget; -- -- g_assert (widget != NULL); -- -- g_signal_connect_object (widget, "destroy", -- G_CALLBACK (on_widget_destroyed), self, 0); -- g_signal_connect_object (widget, "realize", -- G_CALLBACK (widget_realize_cb), self, 0); -- g_signal_connect_object (widget, "unrealize", -- G_CALLBACK (widget_unrealize_cb), self, 0); -- -- gnome_bg_load_from_preferences (self->details->bg, -- gnome_background_preferences); -- -- /* Let's receive batch change events instead of every single one */ -- g_signal_connect (gnome_background_preferences, -- "change-event", -- G_CALLBACK (background_settings_change_event_cb), -- self); -- -- queue_background_change (self); --} -- --static void --nemo_desktop_background_set_property (GObject *object, -- guint property_id, -- const GValue *value, -- GParamSpec *pspec) --{ -- NemoDesktopBackground *self; -- -- self = NEMO_DESKTOP_BACKGROUND (object); -- -- switch (property_id) { -- case PROP_WIDGET: -- self->details->widget = g_value_get_object (value); -- break; -- default: -- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); -- break; -- } --} -- --static GObject * --nemo_desktop_background_constructor (GType type, -- guint n_construct_params, -- GObjectConstructParam *construct_params) --{ -- GObject *retval; -- -- if (singleton != NULL) { -- return g_object_ref (singleton); -- } -- -- retval = G_OBJECT_CLASS (nemo_desktop_background_parent_class)->constructor -- (type, n_construct_params, construct_params); -- -- singleton = NEMO_DESKTOP_BACKGROUND (retval); -- g_object_add_weak_pointer (retval, (gpointer) &singleton); -- -- return retval; --} -- --static void --nemo_desktop_background_class_init (NemoDesktopBackgroundClass *klass) --{ -- GObjectClass *object_class; -- GParamSpec *pspec; -- -- object_class = G_OBJECT_CLASS (klass); -- object_class->finalize = nemo_desktop_background_finalize; -- object_class->set_property = nemo_desktop_background_set_property; -- object_class->constructor = nemo_desktop_background_constructor; -- object_class->constructed = nemo_desktop_background_constructed; -- -- pspec = g_param_spec_object ("widget", "The widget for this background", -- "The widget that gets its background set", -- NEMO_TYPE_ICON_CONTAINER, -- G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); -- g_object_class_install_property (object_class, PROP_WIDGET, pspec); -- -- g_type_class_add_private (klass, sizeof (NemoDesktopBackgroundDetails)); --} -- --static void --nemo_desktop_background_init (NemoDesktopBackground *self) --{ -- self->details = -- G_TYPE_INSTANCE_GET_PRIVATE (self, -- NEMO_TYPE_DESKTOP_BACKGROUND, -- NemoDesktopBackgroundDetails); -- -- self->details->bg = gnome_bg_new (); -- self->details->default_color.red = 0xffff; -- self->details->default_color.green = 0xffff; -- self->details->default_color.blue = 0xffff; -- -- g_signal_connect (self->details->bg, "changed", -- G_CALLBACK (nemo_desktop_background_changed), self); -- g_signal_connect (self->details->bg, "transitioned", -- G_CALLBACK (nemo_desktop_background_transitioned), self); --} -- --NemoDesktopBackground * --nemo_desktop_background_new (NemoIconContainer *container) --{ -- return g_object_new (NEMO_TYPE_DESKTOP_BACKGROUND, -- "widget", container, -- NULL); --} -diff --git a/libnemo-private/nemo-desktop-background.h b/libnemo-private/nemo-desktop-background.h -deleted file mode 100644 -index 8755cb1..0000000 ---- a/libnemo-private/nemo-desktop-background.h -+++ /dev/null -@@ -1,65 +0,0 @@ --/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ -- --/* -- * nemo-desktop-background.c: Helper object to handle desktop background -- * changes. -- * -- * Copyright (C) 2000 Eazel, Inc. -- * Copyright (C) 2010 Cosimo Cecchi <cosimoc@gnome.org> -- * -- * This program is free software; you can redistribute it and/or -- * modify it under the terms of the GNU General Public License as -- * published by the Free Software Foundation; either version 2 of the -- * License, or (at your option) any later version. -- * -- * This program is distributed in the hope that it will be useful, -- * but WITHOUT ANY WARRANTY; without even the implied warranty of -- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- * General Public License for more details. -- * -- * You should have received a copy of the GNU General Public -- * License along with this program; if not, write to the -- * Free Software Foundation, Inc., 51 Franklin Street - Suite 500, -- * Boston, MA 02110-1335, USA. -- * -- * Authors: Darin Adler <darin@bentspoon.com> -- * Cosimo Cecchi <cosimoc@gnome.org> -- */ -- --#ifndef __NAUTILIUS_DESKTOP_BACKGROUND_H__ --#define __NAUTILIUS_DESKTOP_BACKGROUND_H__ -- --#include <gtk/gtk.h> -- --#include "nemo-icon-container.h" -- --typedef struct NemoDesktopBackground NemoDesktopBackground; --typedef struct NemoDesktopBackgroundClass NemoDesktopBackgroundClass; -- --#define NEMO_TYPE_DESKTOP_BACKGROUND nemo_desktop_background_get_type() --#define NEMO_DESKTOP_BACKGROUND(obj) \ -- (G_TYPE_CHECK_INSTANCE_CAST ((obj), NEMO_TYPE_DESKTOP_BACKGROUND, NemoDesktopBackground)) --#define NEMO_DESKTOP_BACKGROUND_CLASS(klass) \ -- (G_TYPE_CHECK_CLASS_CAST ((klass), NEMO_TYPE_DESKTOP_BACKGROUND, NemoDesktopBackgroundClass)) --#define NEMO_IS_DESKTOP_BACKGROUND(obj) \ -- (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NEMO_TYPE_DESKTOP_BACKGROUND)) --#define NEMO_IS_DESKTOP_BACKGROUND_CLASS(klass) \ -- (G_TYPE_CHECK_CLASS_TYPE ((klass), NEMO_TYPE_DESKTOP_BACKGROUND)) --#define NEMO_DESKTOP_BACKGROUND_GET_CLASS(obj) \ -- (G_TYPE_INSTANCE_GET_CLASS ((obj), NEMO_TYPE_DESKTOP_BACKGROUND, NemoDesktopBackgroundClass)) -- --GType nemo_desktop_background_get_type (void); --NemoDesktopBackground * nemo_desktop_background_new (NemoIconContainer *container); -- --typedef struct NemoDesktopBackgroundDetails NemoDesktopBackgroundDetails; -- --struct NemoDesktopBackground { -- GObject parent; -- NemoDesktopBackgroundDetails *details; --}; -- --struct NemoDesktopBackgroundClass { -- GObjectClass parent_class; --}; -- --#endif /* __NAUTILIUS_DESKTOP_BACKGROUND_H__ */ -diff --git a/src/nemo-desktop-icon-view.c b/src/nemo-desktop-icon-view.c -index 37cd8cb..5dec8b5 100644 ---- a/src/nemo-desktop-icon-view.c -+++ b/src/nemo-desktop-icon-view.c -@@ -41,7 +41,6 @@ - #include <fcntl.h> - #include <gdk/gdkx.h> - #include <glib/gi18n.h> --#include <libnemo-private/nemo-desktop-background.h> - #include <libnemo-private/nemo-desktop-icon-file.h> - #include <libnemo-private/nemo-directory-notify.h> - #include <libnemo-private/nemo-file-changes-queue.h> -@@ -76,8 +75,6 @@ struct NemoDesktopIconViewDetails - gulong delayed_init_signal; - guint reload_desktop_timeout; - gboolean pending_rescan; -- -- NemoDesktopBackground *background; - }; - - static void default_zoom_level_changed (gpointer user_data); -@@ -240,12 +237,6 @@ struct NemoDesktopIconViewDetails - return GDK_FILTER_CONTINUE; - } - --static void --real_begin_loading (NemoView *object) --{ -- NEMO_VIEW_CLASS (nemo_desktop_icon_view_parent_class)->begin_loading (object); --} -- - static const char * - real_get_id (NemoView *view) - { -@@ -300,7 +291,6 @@ struct NemoDesktopIconViewDetails - - G_OBJECT_CLASS (class)->dispose = nemo_desktop_icon_view_dispose; - -- vclass->begin_loading = real_begin_loading; - vclass->merge_menus = real_merge_menus; - vclass->update_menus = real_update_menus; - vclass->get_view_id = real_get_id; -@@ -428,6 +418,17 @@ struct NemoDesktopIconViewDetails - desktop_icon_view); - } - -+static void -+desktop_icon_container_realize (GtkWidget *widget, -+ NemoDesktopIconView *desktop_icon_view) -+{ -+ GdkWindow *bin_window; -+ GdkRGBA transparent = { 0, 0, 0, 0 }; -+ -+ bin_window = gtk_layout_get_bin_window (GTK_LAYOUT (widget)); -+ gdk_window_set_background_rgba (bin_window, &transparent); -+} -+ - static NemoZoomLevel - get_default_zoom_level (void) - { -@@ -614,6 +615,8 @@ struct NemoDesktopIconViewDetails - - g_signal_connect_object (icon_container, "middle_click", - G_CALLBACK (nemo_desktop_icon_view_handle_middle_click), desktop_icon_view, 0); -+ g_signal_connect_object (icon_container, "realize", -+ G_CALLBACK (desktop_icon_container_realize), desktop_icon_view, 0); - g_signal_connect_object (desktop_icon_view, "realize", - G_CALLBACK (realized_callback), desktop_icon_view, 0); - g_signal_connect_object (desktop_icon_view, "unrealize", -@@ -637,9 +640,6 @@ struct NemoDesktopIconViewDetails - G_CALLBACK (nemo_view_update_menus), - desktop_icon_view); - -- GdkRGBA transparent = { 0, 0, 0, 0 }; -- gtk_widget_override_background_color (GTK_WIDGET (icon_container), GTK_STATE_FLAG_NORMAL, &transparent); -- - have_cinnamon_settings = g_find_program_in_path ("cinnamon-settings") != NULL; - } - --- -1.8.1.6 - - -From b40990397b6fff55878481a806a1b5574e43951f Mon Sep 17 00:00:00 2001 -From: Michael Webster <miketwebster@gmail.com> -Date: Mon, 15 Apr 2013 20:14:40 -0400 -Subject: [PATCH 3/6] Forgot an include - ---- - libnemo-private/nemo-icon-dnd.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/libnemo-private/nemo-icon-dnd.c b/libnemo-private/nemo-icon-dnd.c -index 017c6a7..2ed073c 100644 ---- a/libnemo-private/nemo-icon-dnd.c -+++ b/libnemo-private/nemo-icon-dnd.c -@@ -52,7 +52,6 @@ - #include <gtk/gtk.h> - #include <glib/gi18n.h> - --#include <libnemo-private/nemo-desktop-background.h> - #include <libnemo-private/nemo-file-utilities.h> - #include <libnemo-private/nemo-file-changes-queue.h> - #include <stdio.h> --- -1.8.1.6 - - -From 020d4dc15fa9c0e1303cef7795e45e688ede7726 Mon Sep 17 00:00:00 2001 -From: Michael Webster <miketwebster@gmail.com> -Date: Tue, 16 Apr 2013 18:00:01 -0400 -Subject: [PATCH 4/6] Change to use cinnamon background keys - ---- - libnemo-private/nemo-global-preferences.c | 2 +- - libnemo-private/nemo-global-preferences.h | 2 +- - src/nemo-places-sidebar.c | 2 +- - src/nemo-view.c | 2 +- - 4 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/libnemo-private/nemo-global-preferences.c b/libnemo-private/nemo-global-preferences.c -index d3ad20a..336afc3 100644 ---- a/libnemo-private/nemo-global-preferences.c -+++ b/libnemo-private/nemo-global-preferences.c -@@ -76,7 +76,7 @@ - nemo_desktop_preferences = g_settings_new("org.nemo.desktop"); - nemo_tree_sidebar_preferences = g_settings_new("org.nemo.sidebar-panels.tree"); - gnome_lockdown_preferences = g_settings_new("org.gnome.desktop.lockdown"); -- gnome_background_preferences = g_settings_new("org.gnome.desktop.background"); -+ cinnamon_background_preferences = g_settings_new("org.cinnamon.background"); - gnome_media_handling_preferences = g_settings_new("org.gnome.desktop.media-handling"); - gnome_terminal_preferences = g_settings_new("org.gnome.desktop.default-applications.terminal"); - } -diff --git a/libnemo-private/nemo-global-preferences.h b/libnemo-private/nemo-global-preferences.h -index 2b9c56a..c1ec61a 100644 ---- a/libnemo-private/nemo-global-preferences.h -+++ b/libnemo-private/nemo-global-preferences.h -@@ -226,7 +226,7 @@ enum - GSettings *nemo_tree_sidebar_preferences; - GSettings *nemo_window_state; - GSettings *gnome_lockdown_preferences; --GSettings *gnome_background_preferences; -+GSettings *cinnamon_background_preferences; - GSettings *gnome_media_handling_preferences; - GSettings *gnome_terminal_preferences; - -diff --git a/src/nemo-places-sidebar.c b/src/nemo-places-sidebar.c -index a0bc4d4..ca32193 100644 ---- a/src/nemo-places-sidebar.c -+++ b/src/nemo-places-sidebar.c -@@ -3825,7 +3825,7 @@ static void expand_or_collapse_category (NemoPlacesSidebar *sidebar, - bookmarks_popup_menu_detach_cb, - sidebar); - -- g_signal_handlers_disconnect_by_func (gnome_background_preferences, -+ g_signal_handlers_disconnect_by_func (cinnamon_background_preferences, - desktop_setting_changed_callback, - sidebar); - -diff --git a/src/nemo-view.c b/src/nemo-view.c -index ab03b44..3ece32a 100644 ---- a/src/nemo-view.c -+++ b/src/nemo-view.c -@@ -6945,7 +6945,7 @@ static void slot_changed_pane (NemoWindowSlot *slot, - - uri = nemo_file_info_get_uri (file); - -- g_settings_set_string (gnome_background_preferences, -+ g_settings_set_string (cinnamon_background_preferences, - "picture-uri", uri); - g_free (uri); - } --- -1.8.1.6 - - -From f487954ebce3f564744e9c83b5dd40fa8f8fad6d Mon Sep 17 00:00:00 2001 -From: Michael Webster <miketwebster@gmail.com> -Date: Mon, 22 Apr 2013 08:33:41 -0400 -Subject: [PATCH 5/6] Fall back to org.gnome.desktop.background schema when - cinnamon is not installed - ---- - libnemo-private/nemo-global-preferences.c | 20 +++++++++++++++++++- - 1 file changed, 19 insertions(+), 1 deletion(-) - -diff --git a/libnemo-private/nemo-global-preferences.c b/libnemo-private/nemo-global-preferences.c -index 336afc3..7eb04ef 100644 ---- a/libnemo-private/nemo-global-preferences.c -+++ b/libnemo-private/nemo-global-preferences.c -@@ -76,7 +76,25 @@ - nemo_desktop_preferences = g_settings_new("org.nemo.desktop"); - nemo_tree_sidebar_preferences = g_settings_new("org.nemo.sidebar-panels.tree"); - gnome_lockdown_preferences = g_settings_new("org.gnome.desktop.lockdown"); -- cinnamon_background_preferences = g_settings_new("org.cinnamon.background"); - gnome_media_handling_preferences = g_settings_new("org.gnome.desktop.media-handling"); - gnome_terminal_preferences = g_settings_new("org.gnome.desktop.default-applications.terminal"); -+ -+ const gchar * const *schema_list = g_settings_list_schemas (); -+ int i = 0; -+ gboolean has_cinnamon = FALSE; -+ if (schema_list != NULL) { -+ while (schema_list[i] != NULL) { -+ if (g_strcmp0 (schema_list[i], "org.cinnamon.background") == 0) { -+ has_cinnamon = TRUE; -+ break; -+ } -+ i++; -+ } -+ } -+ -+ if (has_cinnamon) { -+ cinnamon_background_preferences = g_settings_new ("org.cinnamon.background"); -+ } else { -+ cinnamon_background_preferences = g_settings_new ("org.gnome.desktop.background"); -+ } - } --- -1.8.1.6 - - -From 9739a1b30603868ea6b8b12cf7aeb167be5aea22 Mon Sep 17 00:00:00 2001 -From: Michael Webster <miketwebster@gmail.com> -Date: Mon, 22 Apr 2013 09:31:49 -0400 -Subject: [PATCH 6/6] simplify schema check - ---- - libnemo-private/nemo-global-preferences.c | 17 +++-------------- - 1 file changed, 3 insertions(+), 14 deletions(-) - -diff --git a/libnemo-private/nemo-global-preferences.c b/libnemo-private/nemo-global-preferences.c -index 7eb04ef..0470595 100644 ---- a/libnemo-private/nemo-global-preferences.c -+++ b/libnemo-private/nemo-global-preferences.c -@@ -79,20 +79,9 @@ - gnome_media_handling_preferences = g_settings_new("org.gnome.desktop.media-handling"); - gnome_terminal_preferences = g_settings_new("org.gnome.desktop.default-applications.terminal"); - -- const gchar * const *schema_list = g_settings_list_schemas (); -- int i = 0; -- gboolean has_cinnamon = FALSE; -- if (schema_list != NULL) { -- while (schema_list[i] != NULL) { -- if (g_strcmp0 (schema_list[i], "org.cinnamon.background") == 0) { -- has_cinnamon = TRUE; -- break; -- } -- i++; -- } -- } -- -- if (has_cinnamon) { -+ GSettingsSchemaSource *schema_source; -+ schema_source = g_settings_schema_source_get_default(); -+ if (g_settings_schema_source_lookup (schema_source, "org.cinnamon.background", FALSE)) { - cinnamon_background_preferences = g_settings_new ("org.cinnamon.background"); - } else { - cinnamon_background_preferences = g_settings_new ("org.gnome.desktop.background"); --- -1.8.1.6 - |