When moving a window to an edge, e.g. to the top edge to maximize it, we immediately
call configure() slot once the moveResize is done with empty parameters which effectively
resets the size to the initial state. This results into no effect once you move the window
to any edge.
Details
- Reviewers
graesslin
Diff Detail
- Repository
- R108 KWin
- Branch
- kwin-move-resize
- Lint
No Linters Available - Unit
No Unit Test Coverage
Please also add a test case exposing the problem.
shell_client.cpp | ||
---|---|---|
300–301 | we need to send the configure. Because the state also contains whether the window is being resized. |
Ok, will try to do so.
shell_client.cpp | ||
---|---|---|
300–301 | I don't have the log from WAYLAND_DEBUG enabled at this moment, but there was definitely this state advertised together with the correct size, at least from what I remember it called configure ( (0x1 | 0x8), 1920, 1080) ) or so once I finished the move, but I didn't investigate what those flags mean. |
shell_client.cpp | ||
---|---|---|
300–301 | Yeah, I don't doubt that this is the problem. In fact I consider it as very likely. Just we cannot remove the connects as that would break in other ways. Actually I have an idea what change broke it. I recently reworked the request size blocker together with the BlockGeometryUpdate. I think I just removed one too many. I was probably too confident in the tests not breaking. But it's kind of obvious: the quick tiling tests only operate with wl_shell windows and not with xdg_shell. Which also means for the tests: ideally it's sufficient to switch to xdg_shell or add xdg_shell. Most interesting could be the QuickTilingTest::testQuickTilingPointerMove |
I took care of the auto test with https://commits.kde.org/kwin/0d2a34172357c016f74f5374e6db1785e7739f11