diff --git a/gnome-desktop.spec b/gnome-desktop.spec index e2f7645..457ff90 100644 --- a/gnome-desktop.spec +++ b/gnome-desktop.spec @@ -12,7 +12,7 @@ Summary: Shared code among gnome-panel, gnome-session, nautilus, etc Name: gnome-desktop Version: 2.28.2 -Release: 4%{?dist} +Release: 5%{?dist} URL: http://www.gnome.org Source0: http://download.gnome.org/sources/gnome-desktop/2.28/%{name}-%{version}.tar.bz2 Patch1: concatenate-edid-descriptors.patch @@ -28,6 +28,8 @@ Patch5: slideshow.patch Patch6: gnome-desktop-crash.patch # https://bugzilla.gnome.org/show_bug.cgi?id=606457 Patch7: randr-version.patch +# upstream enhancement +Patch8: spanned-background.patch License: GPLv2+ and LGPLv2+ Group: System Environment/Libraries @@ -93,6 +95,7 @@ libgnomedesktop. %patch5 -p1 -b .slideshow %patch6 -p1 -b .crash %patch7 -p1 -b .randr-version +%patch8 -p1 -b .spanned-background %build %configure --with-gnome-distributor="Red Hat, Inc" \ @@ -140,6 +143,9 @@ rm -rf $RPM_BUILD_ROOT %doc %{_datadir}/gtk-doc/html/gnome-desktop/ %changelog +* Thu Feb 18 2010 Matthias Clasen - 2.28.2-5 +- Add back a way to have spanned backgrounds + * Tue Feb 16 2010 Matthias Clasen - 2.28.2-4 - Fix another crash related to lack of RANDR diff --git a/spanned-background.patch b/spanned-background.patch new file mode 100644 index 0000000..171d267 --- /dev/null +++ b/spanned-background.patch @@ -0,0 +1,60 @@ +--- gnome-desktop-2.29.90/libgnome-desktop/gnome-bg.c 2010-02-18 15:41:43.851703409 -0500 ++++ gnome-desktop-2.29.90.spanned/libgnome-desktop/gnome-bg.c 2010-02-18 14:42:53.895955816 -0500 +@@ -228,6 +228,7 @@ + { GNOME_BG_PLACEMENT_SCALED, "scaled" }, + { GNOME_BG_PLACEMENT_ZOOMED, "zoom" }, + { GNOME_BG_PLACEMENT_TILED, "wallpaper" }, ++ { GNOME_BG_PLACEMENT_SPANNED, "spanned" }, + { 0, NULL } + }; + +@@ -740,12 +741,17 @@ + GdkPixbuf *new; + + #if 0 +- g_print ("original_width: %d %d\n", ++ g_print ("get scaled %d %d, original_width: %d %d\n", ++ width, height, + gdk_pixbuf_get_width (pixbuf), + gdk_pixbuf_get_height (pixbuf)); + #endif + + switch (placement) { ++ case GNOME_BG_PLACEMENT_SPANNED: ++ new = pixbuf_scale_to_fit (pixbuf, width, height); ++ /* new = g_object_ref (pixbuf); */ ++ break; + case GNOME_BG_PLACEMENT_ZOOMED: + new = pixbuf_scale_to_min (pixbuf, width, height); + break; +@@ -800,6 +806,9 @@ + case GNOME_BG_PLACEMENT_SCALED: + pixbuf_blend (scaled, dest, 0, 0, w, h, x + area->x, y + area->y, 1.0); + break; ++ case GNOME_BG_PLACEMENT_SPANNED: ++ pixbuf_blend (scaled, dest, 0, 0, w, h, x, y, 1.0); ++ break; + default: + g_assert_not_reached (); + break; +@@ -878,7 +887,7 @@ + if (!bg) + return; + +- if (is_root) { ++ if (is_root && (bg->placement != GNOME_BG_PLACEMENT_SPANNED)) { + draw_color_each_monitor (bg, dest, screen); + draw_each_monitor (bg, dest, screen); + } else { +--- gnome-desktop-2.29.90/libgnome-desktop/libgnomeui/gnome-bg.h 2009-12-17 06:27:18.000000000 -0500 ++++ gnome-desktop-2.29.90.spanned/libgnome-desktop/libgnomeui/gnome-bg.h 2010-02-18 13:52:17.476702082 -0500 +@@ -59,7 +59,8 @@ + GNOME_BG_PLACEMENT_ZOOMED, + GNOME_BG_PLACEMENT_CENTERED, + GNOME_BG_PLACEMENT_SCALED, +- GNOME_BG_PLACEMENT_FILL_SCREEN ++ GNOME_BG_PLACEMENT_FILL_SCREEN, ++ GNOME_BG_PLACEMENT_SPANNED + } GnomeBGPlacement; + + GType gnome_bg_get_type (void);