Updating branch refs/heads/master
to ea111065925d08d17762a3677b9cc580f219c9c1 (commit)
from 391bf3102d5036036f5266081e9e414cd7e3d08a (commit)
commit ea111065925d08d17762a3677b9cc580f219c9c1
Author: Lionel Le Folgoc <[email protected]>
Date: Fri Jun 11 22:01:52 2010 +0200
Reconfigure an output/a screen only when it's really needed
xfce4-settings-helper/displays.c | 11 +++++++++--
1 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/xfce4-settings-helper/displays.c b/xfce4-settings-helper/displays.c
index 66a7f04..4a2ce19 100644
--- a/xfce4-settings-helper/displays.c
+++ b/xfce4-settings-helper/displays.c
@@ -480,7 +480,8 @@ xfce_displays_helper_channel_apply (XfceDisplaysHelper
*helper,
&width, &height,
&mm_width, &mm_height);
/* check if we really need to do something */
- if (crtc_info->mode != mode || crtc_info->rotation != rot)
+ if (crtc_info->mode != mode || crtc_info->rotation != rot
+ || crtc_info->x != pos_x || crtc_info->y != pos_y)
{
if (XRRSetCrtcConfig (xdisplay, resources, crtc,
crtc_info->timestamp,
pos_x, pos_y, mode, rot, outputs,
noutput) != RRSetConfigSuccess)
@@ -505,8 +506,14 @@ xfce_displays_helper_channel_apply (XfceDisplaysHelper
*helper,
}
/* everything has been applied, set the screen size */
+ n = gdk_x11_get_default_screen ();
+ /* call it only if it's really needed and valid */
if (width >= min_width && width <= max_width
- && height >= min_height && height <= max_height)
+ && height >= min_height && height <= max_height
+ && (width != DisplayWidth (xdisplay, n)
+ || height != DisplayHeight (xdisplay, n)
+ || mm_width != DisplayWidthMM (xdisplay, n)
+ || mm_height != DisplayHeightMM (xdisplay, n)))
XRRSetScreenSize (xdisplay, GDK_WINDOW_XID (root_window),
width, height, mm_width, mm_height);
_______________________________________________
Xfce4-commits mailing list
[email protected]
http://foo-projects.org/mailman/listinfo/xfce4-commits