68f93a0
--- gnome-desktop-2.29.90/libgnome-desktop/gnome-bg.c	2010-02-18 15:41:43.851703409 -0500
68f93a0
+++ gnome-desktop-2.29.90.spanned/libgnome-desktop/gnome-bg.c	2010-02-18 14:42:53.895955816 -0500
68f93a0
@@ -228,6 +228,7 @@
68f93a0
 	{ GNOME_BG_PLACEMENT_SCALED,      "scaled" },
68f93a0
 	{ GNOME_BG_PLACEMENT_ZOOMED,      "zoom" },
68f93a0
 	{ GNOME_BG_PLACEMENT_TILED,       "wallpaper" },
68f93a0
+	{ GNOME_BG_PLACEMENT_SPANNED,       "spanned" },
68f93a0
 	{ 0, NULL }
68f93a0
 };
68f93a0
 
68f93a0
@@ -740,12 +741,17 @@
68f93a0
 	GdkPixbuf *new;
68f93a0
 
68f93a0
 #if 0
68f93a0
-	g_print ("original_width: %d %d\n",
68f93a0
+	g_print ("get scaled %d %d, original_width: %d %d\n",
68f93a0
+                 width, height,
68f93a0
 		 gdk_pixbuf_get_width (pixbuf),
68f93a0
 		 gdk_pixbuf_get_height (pixbuf));
68f93a0
 #endif
68f93a0
 	
68f93a0
 	switch (placement) {
68f93a0
+	case GNOME_BG_PLACEMENT_SPANNED:
68f93a0
+		new = pixbuf_scale_to_fit (pixbuf, width, height);
68f93a0
+		/* new = g_object_ref (pixbuf); */
68f93a0
+		break;
68f93a0
 	case GNOME_BG_PLACEMENT_ZOOMED:
68f93a0
 		new = pixbuf_scale_to_min (pixbuf, width, height);
68f93a0
 		break;
68f93a0
@@ -800,6 +806,9 @@
68f93a0
 	case GNOME_BG_PLACEMENT_SCALED:
68f93a0
 		pixbuf_blend (scaled, dest, 0, 0, w, h, x + area->x, y + area->y, 1.0);
68f93a0
 		break;
68f93a0
+	case GNOME_BG_PLACEMENT_SPANNED:
68f93a0
+		pixbuf_blend (scaled, dest, 0, 0, w, h, x, y, 1.0);
68f93a0
+		break;
68f93a0
 	default:
68f93a0
 		g_assert_not_reached ();
68f93a0
 		break;
68f93a0
@@ -878,7 +887,7 @@
68f93a0
 	if (!bg)
68f93a0
 		return;
68f93a0
 
68f93a0
-	if (is_root) {
68f93a0
+	if (is_root && (bg->placement != GNOME_BG_PLACEMENT_SPANNED)) {
68f93a0
 		draw_color_each_monitor (bg, dest, screen);
68f93a0
 		draw_each_monitor (bg, dest, screen);
68f93a0
 	} else {
68f93a0
--- gnome-desktop-2.29.90/libgnome-desktop/libgnomeui/gnome-bg.h	2009-12-17 06:27:18.000000000 -0500
68f93a0
+++ gnome-desktop-2.29.90.spanned/libgnome-desktop/libgnomeui/gnome-bg.h	2010-02-18 13:52:17.476702082 -0500
68f93a0
@@ -59,7 +59,8 @@
68f93a0
 	GNOME_BG_PLACEMENT_ZOOMED,
68f93a0
 	GNOME_BG_PLACEMENT_CENTERED,
68f93a0
 	GNOME_BG_PLACEMENT_SCALED,
68f93a0
-	GNOME_BG_PLACEMENT_FILL_SCREEN
68f93a0
+	GNOME_BG_PLACEMENT_FILL_SCREEN,
68f93a0
+	GNOME_BG_PLACEMENT_SPANNED
68f93a0
 } GnomeBGPlacement;
68f93a0
 
68f93a0
 GType            gnome_bg_get_type              (void);