diff -up xfce4-settings-4.12.0/xfsettingsd/displays.c.z-xfce4-settings-multimonitor-reconnect-fix xfce4-settings-4.12.0/xfsettingsd/displays.c --- xfce4-settings-4.12.0/xfsettingsd/displays.c.z-xfce4-settings-multimonitor-reconnect-fix 2015-02-24 04:33:11.000000000 +0300 +++ xfce4-settings-4.12.0/xfsettingsd/displays.c 2017-05-25 16:39:43.843704777 +0300 @@ -499,6 +499,10 @@ xfce_displays_helper_screen_on_event (Gd changed = TRUE; } } + + if (changed) + xfce_displays_helper_channel_apply (helper, DEFAULT_SCHEME_NAME); + /* Start the minimal dialog according to the user preferences */ if (changed && xfconf_channel_get_bool (helper->channel, NOTIFY_PROP, FALSE)) xfce_spawn_command_line_on_screen (NULL, "xfce4-display-settings -m", FALSE, @@ -539,10 +543,10 @@ xfce_displays_helper_set_screen_size (Xf /* set the screen size only if it's really needed and valid */ if (helper->width >= min_width && helper->width <= max_width && helper->height >= min_height && helper->height <= max_height - && (helper->width != gdk_screen_width () + /*&& (helper->width != gdk_screen_width () || helper->height != gdk_screen_height () || helper->mm_width != gdk_screen_width_mm () - || helper->mm_height != gdk_screen_height_mm ())) + || helper->mm_height != gdk_screen_height_mm ())*/) { xfsettings_dbg (XFSD_DEBUG_DISPLAYS, "Applying desktop dimensions: %dx%d (px), %dx%d (mm).", helper->width, helper->height, helper->mm_width, helper->mm_height);