Created attachment 7499 Leave display where it was Currently newly connected monitors automatically end up at 0x0, which sucks in many cases. This behaviour could be changed to extending / or trying to leave the monitor where it was. Check the attached patch.
Florian Schüller referenced this bugreport in commit 1c7b5098fecac187048e7c8b01020ddf7ead8d50 display: Leave the monitor where it was if possible (Bug #14096) https://git.xfce.org/xfce/xfce4-settings/commit?id=1c7b5098fecac187048e7c8b01020ddf7ead8d50
Patch applied in the above commit. Thanks!
Florian Schüller referenced this bugreport in commit e128126f5e32c1018854403bb846cb9d6a091bb0 display: Leave the monitor where it was if possible (Bug #14096) https://git.xfce.org/xfce/xfce4-settings/commit?id=e128126f5e32c1018854403bb846cb9d6a091bb0
Testing this out for my case of a monitor that has the RandR Disconnected/Connected events thrown when it is powered on - while the 3rd monitor comes up, its output is corrupted, and the cursor only just encroaches on the third monitor, where it stops. Running my usual fix script seems to work, which is a combination of: xrandr --output DisplayPort-0 --right-of DVI-1 xrandr --output DisplayPort-0 --mode '1920x1200' depending on what it sees is broken - will work out which one of these is meaningful. In general I'm assuming that some sort of initialisation is not happening for the monitor, with this patch.
The problem is easily recreatable by pulling out the DisplayPort cable and then plugging it in again - if you leave it for a while inbetween, the monitor is configured fine, but if its straight out then in, the monitor is not configured properly. I've tracked part of the problem down to xfsettingsd/displays.c:xfce_displays_helper_screen_on_event, L462 xfce_displays_helper_disable_crtc call - when this call is commented out, the monitor is always configured fine (and looking at xfsettingsd's debug output, in both the success and failure case there are plenty of events happening where all monitors are connected at the end to allow for proper configuration). For reference, is there a reason why the CRTC is explicitly disabled? Without disabling, the XFCE4 display dialog does not show the monitor present when it is disconnected, even when the CRTC is disabled windows/panels on the disconnected monitor are not moved over to the others, so I'm wondering if there is a downside to not disabling?