I use a Laptop (Linux Mint Debian Edition) with an external monitor. If I boot without the external monitor attached, my monitor size is 1440x900 with an offset +0+180. The offset confuses xfdesktop: It draws the background image with an y-offset of 0, but it should be 180. Also 180 lines of noise appear at the bottom of the screen. I found the following code that causes the problem: file src/xfce-desktop.c, line 337ff: if(desktop->priv->nbackdrops == 1) { /* single monitor */ rect.x = rect.y = 0; rect.width = gdk_screen_get_width(gscreen); rect.height = gdk_screen_get_height(gscreen); } else gdk_screen_get_monitor_geometry(gscreen, monitor, &rect); it works correct if I just ignore the test and only use this code: gdk_screen_get_monitor_geometry(gscreen, monitor, &rect);
Created attachment 4173 [PATCH] Always use gdk_screen_get_monitor_geometry Nice writeup, this patch implements the fix.
nbackdrops is equal to the number of monitors, so this should be safe (although a monitor offset when there is 1 monitor in the screen is a bit strange).
Added to eric/bugzilla branch for testing, http://git.xfce.org/xfce/xfdesktop/commit/?h=eric/bugzilla-patches&id=c72329f0c4efa0b8cb062cf55e06026b23e1ac0a
Committed to Master: http://git.xfce.org/xfce/xfdesktop/commit/?id=c72329f0c4efa0b8cb062cf55e06026b23e1ac0a & http://git.xfce.org/xfce/xfdesktop/commit/?id=a18cb32c970f2355cfa86bf6763e31efa93e1df5