Bug 368393

Summary: maximized wayland windows can be moved while they stay maximized
Product: [Plasma] kwin Reporter: CapsAdmin <eliashogstvedt>
Component: wayland-genericAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal Flags: mgraesslin: Wayland+
mgraesslin: ReviewRequest+
Priority: NOR    
Version: git master   
Target Milestone: ---   
Platform: Neon   
OS: Linux   
URL: https://phabricator.kde.org/D3507
Latest Commit: Version Fixed In:
Attachments: POC patch

Description CapsAdmin 2016-09-07 13:32:29 UTC
I would expect the windows to become un-maximized after being moved. This seems to work fine on xwayland windows. 

Additionally it seems that some applications that are maximized closed and reopened will stay maximized beyond the taskbar. In dolphin this causes for instance its terminal (press f4 to show) input to be underneath the taskbar which is annoying.

Reproducible: Always

Steps to Reproduce:
1. open dolphin
2. maximize dolphin window
3. move dolphin window
Comment 1 Martin Flöser 2016-09-08 06:10:13 UTC
I have been using this for months without noticing. Thanks for reporting! Apparently I only use it to move maximized windows from one screen to another.
Comment 2 Martin Flöser 2016-09-16 10:46:05 UTC
Currently trying to fix it. The root problem is that changeMaximize does not yet implement all checks for ShellClient which are implemented for Client. This results in the window not being set as QuickTileMaximized when being maximized and thus it doesn't go out of the state when starting to move.

I have an implementation which fixes the problem but breaks another unit test.
Comment 3 Martin Flöser 2016-09-16 11:37:22 UTC
Created attachment 101119 [details]
POC patch

Proof of concept patch which fixes the problem. But it shuffles quite some code around and I fear it could create regressions on X11, so needs way more testing.
Comment 4 Martin Flöser 2016-11-25 15:15:55 UTC
and put to review: https://phabricator.kde.org/D3507
Comment 5 Martin Flöser 2016-11-29 11:36:47 UTC
Git commit 9934f5b57537feae54afd0c4366c90253638ada2 by Martin Gräßlin.
Committed on 29/11/2016 at 11:35.
Pushed by graesslin into branch 'master'.

Properly implement maximize of ShellClient

Summary:
This brings some more checks from Client to ShellClient. Thus the
states are better adjusted.

Unfortunately the X11 implementation is also slightly adjusted, so could
create regressions in worst case.

Reviewers: #kwin, #plasma_on_wayland

Subscribers: plasma-devel, kwin

Tags: #plasma_on_wayland, #kwin

Differential Revision: https://phabricator.kde.org/D3507

M  +0    -1    autotests/integration/quick_tiling_test.cpp
M  +4    -3    geometry.cpp
M  +42   -0    shell_client.cpp

https://commits.kde.org/kwin/9934f5b57537feae54afd0c4366c90253638ada2