xfsettingsd attempts to set monitor settings if it gets notified by xrandr that a monitor has been hot-plugged. It tries (see bug 14096) to reuse the same x,y position as previously if it's seen this monitor before. However it doesn't try to preserve the monitor rotation: xfce_displays_helper_screen_on_event() always sets crtc->rotation = RR_Rotate_0. To reproduce: * have a dual monitor configuration where the monitors are connected via displayport * set the dual monitors up in portrait mode (eg with xrandr --output DP-1 --rotate left --auto; xrandr --output DP-2 --rotate left --right-of DP-1 --auto) * unplug monitor 2 * plug monitor 2 back in The 2nd monitor should return in portrait mode in the same location as it was initially, but instead it comes back in landscape. This is particularly awkward if the displayport monitors are of the kind which act as if hot-unplugged when turned off at their front panel switch (in which case you can repro by just turning the monitor off and on again, without the need to physically unplug the cable). This is probably related to bug 13590 also. I have reproduced with Ubuntu's xfsettingsd 4.12.4 (Xfce 4.12). Unfortunately I can't test with upstream head-of-git xfsettingsd as it requires xfconf 0.13 to build but this system has only 0.12. But my reading of the source code suggests this part has not changed.
Xfce 4.13.2 Debian packages are available in the Debian experimental repository.
With xfce4-settings >=4.13.5 you can save display layouts and get them restored automatically when hotplugging. Continue reading here: https://simon.shimmerproject.org/2018/10/02/new-xfce4-settings-release/ For 4.12 this won't be fixed anymore.