Bug 405688

Summary: Option to move all windows to primary monitor on display change
Product: [Plasma] kwin Reporter: leftcrane <leftcrane>
Component: coreAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED NOT A BUG    
Severity: wishlist CC: nate
Priority: NOR    
Version First Reported In: 5.15.2   
Target Milestone: ---   
Platform: Kubuntu   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description leftcrane 2019-03-20 14:11:09 UTC
I have two monitors and a laptop. The laptop monitor is turned off when any external is plugged in. The secondary monitor is positioned on the left.

The problem is that Kwin, at least under X11, simply takes the left-most point as the origin, regardless of what your primary monitor is. It thus shifts most of the windows to the left on connecting a secondary display.

I know this is by design to keep track of arrangement, but this breaks down when you have a monitor on the left.In practice, it destroys the the sort of arrangement the user expects, first by moving them to the secondary display, then by resizing all of them to fit. So the layout gets changed radically.

I added a KWin rule to force the windows to Display 1 (primary in my case), but this only works for some of the windows, some of the time.

Is there some stopgap measure that could be introduced to move ALL windows to the primary display whenever a change in the monitor configuration takes place? 

This wouldn't do much good for people who just have a secondary monitor on the right - the default behavior is fine for them. But those who have one the left need some quicks way to overrule the default which shifts all their windows to a place they don't expect.
Comment 1 Vlad Zahorodnii 2019-03-28 12:38:24 UTC
We have too many options already. Adding yet another option sounds really bad.

> Is there some stopgap measure that could be introduced to move ALL windows to
> the primary display whenever a change in the monitor configuration takes place?

A script?
Comment 2 Martin Flöser 2019-03-28 21:10:26 UTC
Please use KWin scripting.