Bug 447921

Summary: With "Window Placement" "Minimal Overlapping", kwin prefers overlapping on the same screen than using another empty screen
Product: [Plasma] kwin Reporter: Oded Arbel <oded>
Component: multi-screenAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED INTENTIONAL    
Severity: minor CC: kde
Priority: NOR    
Version First Reported In: git master   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Oded Arbel 2022-01-04 09:41:38 UTC
SUMMARY

Setting "Window Management" -> "Window Behavior" -> "Advanced" -> "Window Placement" to "Minimal Overlapping", kwin will not take advantage of multiple screens and will always place the new window in the screen where the mouse is, even when it will overlap existing windows and another screen is completely empty (it will always prefer same screen for other placement options, but for most others it actually makes sense).

STEPS TO REPRODUCE
1. Have more than one screen connected, and set "Window Placement" to "Minimal Overlapping". If you plan to test with a KDE application, also turn off "allow apps to remember the positions" - or test with non-KDE apps, for example: Firefox.
2. Without any windows showing on the current virtual desktop, open a window (for example - Firefox) and maximize it on one of the screens.
3. Open a new window (for example - in Firefox press CTRL+N).

OBSERVED RESULT
The new window covers the existing window.

EXPECTED RESULT
The new window should open on another screen.

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 
KDE Plasma Version: 5.23.80
KDE Frameworks Version: 5.90.0
Qt Version: 5.15.3

ADDITIONAL INFORMATION
With the above repro process, if instead of maximizing the window, I tile to to half the screen - the new window appears correctly in the other half of the screen.
Comment 1 David Edmundson 2022-01-09 21:30:02 UTC
>The new window should open on another screen.

That also caused people saying things should appear on the active screen. The code is deliberate based on other feedback. Sorry