[gnome-desktop] Add a picture option to make the background span monitors
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-desktop] Add a picture option to make the background span monitors
- Date: Thu, 18 Feb 2010 20:54:38 +0000 (UTC)
commit 8eb0886312751054e2e6d9b10eedbb0ddf180deb
Author: Matthias Clasen <mclasen redhat com>
Date: Thu Feb 18 15:51:53 2010 -0500
Add a picture option to make the background span monitors
This feature was lost in 2.28, and people miss it. See bug 603551.
libgnome-desktop/gnome-bg.c | 9 ++++++++-
libgnome-desktop/libgnomeui/gnome-bg.h | 3 ++-
2 files changed, 10 insertions(+), 2 deletions(-)
---
diff --git a/libgnome-desktop/gnome-bg.c b/libgnome-desktop/gnome-bg.c
index 145e59e..c45dead 100644
--- a/libgnome-desktop/gnome-bg.c
+++ b/libgnome-desktop/gnome-bg.c
@@ -228,6 +228,7 @@ static GConfEnumStringPair placement_lookup[] = {
{ GNOME_BG_PLACEMENT_SCALED, "scaled" },
{ GNOME_BG_PLACEMENT_ZOOMED, "zoom" },
{ GNOME_BG_PLACEMENT_TILED, "wallpaper" },
+ { GNOME_BG_PLACEMENT_SPANNED, "spanned" },
{ 0, NULL }
};
@@ -733,6 +734,9 @@ get_scaled_pixbuf (GnomeBGPlacement placement,
#endif
switch (placement) {
+ case GNOME_BG_PLACEMENT_SPANNED:
+ new = pixbuf_scale_to_fit (pixbuf, width, height);
+ break;
case GNOME_BG_PLACEMENT_ZOOMED:
new = pixbuf_scale_to_min (pixbuf, width, height);
break;
@@ -787,6 +791,9 @@ draw_image_area (GnomeBGPlacement placement,
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;
@@ -865,7 +872,7 @@ gnome_bg_draw (GnomeBG *bg,
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 {
diff --git a/libgnome-desktop/libgnomeui/gnome-bg.h b/libgnome-desktop/libgnomeui/gnome-bg.h
index 6ab2cb0..0d12b3b 100644
--- a/libgnome-desktop/libgnomeui/gnome-bg.h
+++ b/libgnome-desktop/libgnomeui/gnome-bg.h
@@ -59,7 +59,8 @@ typedef enum {
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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]