Registered Member
|
I'm running Debian Testing, KDE 4.10.5.
When I add a new monitor (docking a laptop) I extend my display to include it. Depending on where I position the displays relative to each other my application windows will change monitor. I believe this is due to the coordinates of the existing display changing, and the application windows keeping their existing coordinates. For example, if I add a display above my current one, my existing display will be moved down (its coordinates change from 0,0 to 0,1024 for example). Application windows that were at the 'top' will be left there, in effect moving them to the top, newly added display. If I add the monitor below my existing display no windows move. I can imagine that for some users moving the application windows to a newly added display can be useful, however this seems like it would be rare in the multi-monitor set-up I am describing. It also seems to be purely a side effect of where I add the display, as if I add the display below the existing one no apps change position. Furthermore, there is inconsistent behaviour when I enable/disable the external monitor vs moving existing displays around. When I enable/disable monitors all windows will be moved to maintain their absolute coordinates, if required. If I change the display layout, application windows are either moved to or left on the primary display. Finally, I cannot always reproduce this. If I have been playing around with the settings repeatedly, windows seem to stay in place. Might need to do more testing to understand when windows will change monitors. |
|
https://bugs.kde.org/show_bug.cgi?id=296673
Actually the windows do never move on screen adding, the screen moves below them (but their absolute position on the root display remains) iow. this depends on whether the screen is added on the top/left or bottom/right. |
Registered Member
|
In my tests, this is true most of the time, but not always. In particular, if I move a screen from below to above my main display (without disconnecting the display) then all windows are moved to my main display. The bug report is probably the best place to talk about that though. |
|
That depends on how this change is applied.
"Changing" the screen position can (will) include to remove the screen and then re-add it differently. KWin blurs those changes for a short moment, but if it takes longer, the screen is assumed "removed" what will get all windows on the remaining visible screen. If the screen then gets added in a different position, the windows simply keep their present location. |
Registered Member
|
I understand this reasoning, as it is what I assumed was happening, but the effect is more subtle than that.
After moving one screen from below to above the main display, all windows appear on the main display. When moving from above to below the same thing happens - all windows are moved to the main display. If we presume that all windows are moved to the main display when the moving display starts its transition (by effectively being removed to re-add in the new position) we would expect the co-ordinates to be shifted so that the origin is the top left of the main display. When the new display is re-added above the main display this origin will shift up by the height of the new screen. Thus, we would expect windows to be moved up with it, so that they maintain their new co-ordinates relative to the origin. This does not happen. If we assumed that the windows 'remember' their previous position, and are simply temporarily moved to the main display while the other display is moved, we would expect windows originally on the main display to move up to the moving display, and windows originally on the moving display to move up to the main display. This does not happen - all windows are moved to the main display. The only option I can think that explains this behaviour is that windows are being explicitly moved to and held on the main display when I change the position of an existing display. Of course, my experiments could be out of whack so I should probably try them again, and it would be great if someone else tried some similar tests. The properties which I think are orthogonal to each other and need to be tested are:
For example, I have seen different behaviour when I undock and then redock compared to simply disconnecting the display cable and reattaching it. |
|
Please post the output of "xrandr -q" before and after each screen shuffling. If no other reason, the only thing i could assume is that one shuffle is blurred (the interim single state is ignored) and the other is not - for whatever (timing...) reason. |
Registered users: Bing [Bot], Google [Bot], q.ignora, watchstar