https://bugs.kde.org/show_bug.cgi?id=489463

            Bug ID: 489463
           Summary: Scripting: Undocumented breaking change in Maximized
                    windows behaviour
    Classification: Plasma
           Product: kwin
           Version: 6.1.1
          Platform: Arch Linux
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: Quick Tiling
          Assignee: kwin-bugs-n...@kde.org
          Reporter: inli...@pm.me
  Target Milestone: ---

SUMMARY


STEPS TO REPRODUCE
1. Install KWin 6.1.1 and Polonium 6 (515f6990c848d935c56de5e12cec74ca4aab1baf)
2. Open Plasma (Wayland) session
3. Open two windows, so they are tiling on the same monitor
4. Try to maximize the Window

OBSERVED RESULT

Window is maximized for one frame, than teleported back to the tile.

EXPECTED RESULT

Window is behaving as on KWin 6.05 (maximizes).

SOFTWARE/OS VERSIONS


Linux/KDE Plasma: Arch Linux KDE Plasma 6.1
(available in About System)
KDE Plasma Version: 6.10
KDE Frameworks Version: 6.30 
Qt Version: 6.7.1

ADDITIONAL INFORMATION

Manually bisecting this issue points to commit

commit 52b92904dead8dedd8134d532f507e6f5bc78958 (HEAD -> bad-commit)
Author: Marco Martin <notm...@gmail.com>
Date:   Mon Apr 15 12:18:09 2024 +0000

    Quick tiling double buffereing

    The quicktileMode member now is just for the requested tile mode, base the
"real" mode only on m_tile.

    The requested tile mode is used for double buffering, to look and behave
just like requestedMAximizeMode() which is updated immediately, but needs to
acknowledge the configure request and render for quickTileMode() (and the right
tile() instanced to be associated) to be updated accordingly

 autotests/integration/move_resize_window_test.cpp |  27 ++++++++++---
 autotests/integration/quick_tiling_test.cpp       | 125
+++++++++++++++++++++++++++++++++++++++--------------------
 src/placementtracker.cpp                          |   4 +-
 src/tiles/quicktile.cpp                           |   4 ++
 src/tiles/tile.cpp                                |   6 ++-
 src/tiles/tilemanager.cpp                         |   6 +++
 src/tiles/tilemanager.h                           |   3 ++
 src/window.cpp                                    |  91
++++++++++++++++++++++++++++++-------------
 src/window.h                                      |  15 +++----
 src/x11window.cpp                                 |  10 ++++-
 src/x11window.h                                   |   1 +
 src/xdgshellwindow.cpp                            |  35 ++++++++++++-----
 12 files changed, 228 insertions(+), 99 deletions(-)


It seems that test that prevents this issue was removed here
https://invent.kde.org/plasma/kwin/-/merge_requests/5532/diffs#b511e90f6b6d5af94f4af5fcac5d7e2497a3c15a_203_211

What happens in Polonium as is follows.

1) User maximizes the Window
2) Polonium receives TileChanged Signal non null tile and decides to rebuild
it's layout

Previously it was as this
1) User maximizes the Window
2) Polonium receives TileChanged with NULL

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to