Bug 482085 - No way to undo maximize window by double clicking borders
Summary: No way to undo maximize window by double clicking borders
Status: RESOLVED INTENTIONAL
Alias: None
Product: kwin
Classification: Plasma
Component: general (show other bugs)
Version: git master
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
URL:
Keywords: qt6, usability
Depends on:
Blocks:
 
Reported: 2024-02-29 20:04 UTC by fanzhuyifan
Modified: 2024-03-16 03:59 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description fanzhuyifan 2024-02-29 20:04:58 UTC
SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***


STEPS TO REPRODUCE
1. Open dolphin
2. double click left edge to maximize it horizontally
3. Try to resize from the left edge or double click the left edge

OBSERVED RESULT
Nothing happens -- cannot revert to unmaximized state

EXPECTED RESULT
There should be some way to undo the maximization.

SOFTWARE/OS VERSIONS
Operating System: Arch Linux 
KDE Plasma Version: 6.0.80
KDE Frameworks Version: 6.0.0
Qt Version: 6.7.0
Kernel Version: 6.7.6-arch1-1 (64-bit)
Graphics Platform: Wayland
Processors: 20 × 13th Gen Intel® Core™ i9-13900H
Memory: 15.2 GiB of RAM
Graphics Processor: Mesa Intel® Graphics
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: ROG Zephyrus G16 GU603VV_GU603VV
System Version: 1.0

ADDITIONAL INFORMATION
Comment 1 Vlad Zahorodnii 2024-02-29 20:16:35 UTC
> There should be some way to undo the maximization.

It's impossible. Either we have what we have in master or nothing I guess.
Comment 2 Vlad Zahorodnii 2024-02-29 20:21:09 UTC
My suggestion: get more feedback from users. If we keep receiving similar reports, then let's revert the change.
Comment 3 fanzhuyifan 2024-02-29 20:23:02 UTC
(In reply to Vlad Zahorodnii from comment #1)
> > There should be some way to undo the maximization.
> 
> It's impossible. Either we have what we have in master or nothing I guess.

Ahh that's unfortunate....

> My suggestion: get more feedback from users. If we keep receiving similar reports, then let's revert the change.

Sounds reasonable.
Comment 4 Vlad Zahorodnii 2024-03-15 18:11:11 UTC
Git commit 11a5513e789e2bd9a99f19d2b8477ca4700ab46d by Vlad Zahorodnii.
Committed on 15/03/2024 at 18:00.
Pushed by vladz into branch 'master'.

Avoid moving the window while it's maximized

Unlike X11, on Wayland, the window won't change its maximize mode until
it renders a new buffer. This creates a problem for interactive move
because if it's not careful and moves the window while it's still effectively
maximized, it will look as if the window has leaked to other screens.

This change fixes the problem by making Window::handleInteractiveMoveResize()
avoid move() if the window needs to be unmaximized.

As a bonus, it also allows to unmaximize the windows that are maximized
along only one dimension by dragging them.

Unfortunately, tiling stuff still suffers from the same issue. In order
to fix it, Window::tile() has to be part of double buffered state, like
Window::maximizeMode().
Related: bug 449105, bug 459218

M  +1    -0    autotests/integration/kwin_wayland_test.h
M  +18   -0    autotests/integration/test_helpers.cpp
M  +312  -0    autotests/integration/xdgshellwindow_test.cpp
M  +28   -13   src/window.cpp
M  +9    -0    src/x11window.cpp
M  +11   -0    src/xdgshellwindow.cpp

https://invent.kde.org/plasma/kwin/-/commit/11a5513e789e2bd9a99f19d2b8477ca4700ab46d
Comment 5 fanzhuyifan 2024-03-16 03:59:21 UTC
With the commit, I am happy to close this as INTENTIONAL -- from the UX point of view, the problem is solved.