Do not allow multiple instances of display settings dialog
Submitted by MK
Assigned to Jérôme Guelfucci
Description
There is some context for my observations here in my comment on bug 12410 -- but the problem is I think not correctly assessed there. It isn't so much that it can't handle 2 and 3 display set-ups, it is that once a display is magically disabled, correcting it via the Display Settings interface is so dysfunctional it might as well be unable to handle certain 2 and 3 display set-ups.
Because (as described on 12410) I end up having to use the Display Settings many times during the day when XFCE drops my primary monitor, I've come to a number of conclusions about it which have made it much easier but which I am sure are not the way anyone ever intended it to work:
-
The actual display being configured does not necessarily seem to be the one in the dropdown. Instead, it seems to be the last one in the diagram moused over (note I use "focus follows mouse", some more about the significance of that below). I make this observation because the (center) display which is disabled ends up shown off to the right, and I have to drag and drop it back to the center. When I then move the mouse back to the right to tick "use this display" (not holding any buttons down), if I do not first go up, out of the box representing the center display, and keep the pointer away from the other boxes, unpredictable things happen and the disabled center display is never re-enabled. Whereas if I am careful and make it to the checkbox without mousing over another screen icon, it is always re-enabled.
-
However, this mouse over reconfigure behaviour persists when the timer pop-up ("Keep this configuration?") appears, meaning I have to be equally careful getting the mouse over that without accidentally grazing the diagram underneath. As mentioned, I do use "focus follows mouse", but it seems pointless and absurd that I should want, or be able, to change the configuration while a 10 second timed "Keep this configuration?" dialogue is in play and screens are going on and off.
-
Further, the interface window seems perfectly happy to arbitrarily (or more probably: in response to the "mouse over reconfigure while already reconfiguing" problem) spawn multiple instances of itself and/or various pop-ups related to its functioning, exactly overlapping one another and creating a confusing chain of precedence (the fun increases if a second screen is then accidentally disabled and needs to be re-enabled). At one point, when I tried using "Configure new displays when connected" (big mistake) and found I not only lost a display but had mirroring selected for me, I ended up closing at least a dozen versions of the same overlapping pop-up without ever noticing them having been created (I guess it could be the same window just refusing to close for a dozen clicks, but I don't think so).
I can understand how allowing the interface to respawn is useful when it has not been properly closed, if the user happens to lose the window somewhere and actively starts another one. However, in this case, it should ONLY be when the user actively starts another one, and further, any existing instance should automatically be closed. There is no sane purpose to reconfiguring the display settings from multiple interfaces simultaneously.
In short, that thing is a lunatic nightmare. Thankfully, it is still much less hassle than having to kill and restart the whole desktop -- usually all my open apps are preserved although they always end up being moved about because of the disabled then re-enabled display, adding a bit of further irritation.
Version: 4.12.0