--- rxvt-unicode/src/background.C 2011/11/20 11:09:21 1.173 +++ rxvt-unicode/src/background.C 2011/12/17 01:05:09 1.178 @@ -203,7 +203,7 @@ } else if (!strcasecmp (arr[i], "style=aspect-stretched")) { - new_flags = BG_PROP_SCALE; + new_flags = BG_KEEP_ASPECT; w = h = windowScale; x = y = centerAlign; geom_flags = WidthValue|HeightValue|XValue|YValue; @@ -229,9 +229,9 @@ } else if (!strcasecmp (arr[i], "op=tile")) new_flags |= BG_TILE; - else if (!strcasecmp (arr[i], "op=pscale")) - new_flags |= BG_PROP_SCALE; - else if (!strcasecmp (arr[i], "op=root")) + else if (!strcasecmp (arr[i], "op=keep-aspect")) + new_flags |= BG_KEEP_ASPECT; + else if (!strcasecmp (arr[i], "op=root-align")) new_flags |= BG_ROOT_ALIGN; // deprecated @@ -243,7 +243,9 @@ } else if (!strcasecmp (arr[i], "propscale")) { - new_flags |= BG_PROP_SCALE; + new_flags |= BG_KEEP_ASPECT; + w = h = windowScale; + geom_flags |= WidthValue|HeightValue; } else if (!strcasecmp (arr[i], "hscale")) { @@ -324,7 +326,7 @@ w = h_scale * target_width / 100; h = v_scale * target_height / 100; - if (bg_flags & BG_PROP_SCALE) + if (bg_flags & BG_KEEP_ASPECT) { float scale = (float)w / image_width; min_it (scale, (float)h / image_height); @@ -1277,8 +1279,8 @@ } /* straightforward pixmap copy */ - while (sx < 0) sx += root_width; - while (sy < 0) sy += root_height; + while (sx < 0) sx += root_pmap_width; + while (sy < 0) sy += root_pmap_height; gcv.tile = recoded_root_pmap; gcv.fill_style = FillTiled;