--- nautilus-2.30.1/libnautilus-private/apps_nautilus_preferences.schemas.in-orig	2010-06-29 14:52:32.523767583 -0500
+++ nautilus-2.30.1/libnautilus-private/apps_nautilus_preferences.schemas.in	2010-06-29 14:55:16.878722835 -0500
@@ -599,6 +599,17 @@ most cases, this should be left alone. S
       </locale>
     </schema>
 
+    <schema>
+      <key>/schemas/apps/nautilus/preferences/background_fade</key>
+      <applyto>/apps/nautilus/preferences/background_fade</applyto>
+      <owner>nautilus</owner>
+      <type>bool</type>
+      <default>true</default>
+      <locale name="C">
+         <short>Fade Background Transition</short>
+         <long>If true, a background fade transition is used.</long>
+      </locale>
+    </schema>
 
     <schema>
       <key>/schemas/apps/nautilus/preferences/side_pane_background_set</key>
--- nautilus-2.30.1/eel/eel-background.c-orig	2010-06-29 15:15:12.400634648 -0500
+++ nautilus-2.30.1/eel/eel-background.c	2010-06-29 15:20:19.596011221 -0500
@@ -44,6 +44,8 @@
 #define GNOME_DESKTOP_USE_UNSTABLE_API
 #include <libgnomeui/gnome-bg.h>
 
+#define NAUTILUS_BACKGROUND_FADE_KEY "/apps/nautilus/preferences/background_fade"
+
 static void       eel_background_class_init                (gpointer       klass);
 static void       eel_background_init                      (gpointer       object,
 							    gpointer       klass);
@@ -83,6 +85,7 @@ struct EelBackgroundDetails {
 	GdkPixmap *background_pixmap;
 	gboolean background_pixmap_is_unset_root_pixmap;
 	GnomeBGCrossfade *fade;
+	gboolean do_fade;
 	int background_entire_width;
 	int background_entire_height;
 	GdkColor default_color;
@@ -165,6 +168,7 @@ on_bg_transitioned (GnomeBG *bg, EelBack
 static void
 eel_background_init (gpointer object, gpointer klass)
 {
+	GConfClient *client = gconf_client_get_default ();
 	EelBackground *background;
 
 	background = EEL_BACKGROUND (object);
@@ -181,6 +185,8 @@ eel_background_init (gpointer object, gp
 	g_signal_connect (background->details->bg, "transitioned",
 			  G_CALLBACK (on_bg_transitioned), background);
 	
+        background->details->do_fade = gconf_client_get_bool (client,
+			 NAUTILUS_BACKGROUND_FADE_KEY, NULL);
 }
 
 /* The safe way to clear an image from a background is:
@@ -821,6 +827,10 @@ init_fade (EelBackground *background, Gt
 		return;
 	}
 
+	if (background->details->do_fade == FALSE) {
+		return;
+	}
+
 	if (background->details->fade == NULL) {
 		int old_width, old_height, width, height;
 
