Version: (using KDE 4.4.0)
Installed from: Ubuntu Packages
Steps to reproduce:
1. Activate "Maximize windows by dragging to top edge" in screen edges.
2. Maximize a window.
3. Press and hold the mouse button on the titlebar of the maximized window. Do not move the mouse!
The window will unmaximize and enter move mode (it will become semitransparent), but it will jump to its previous unmaximized position (the position wasn't updated because you didn't move the mouse). If you then move the mouse a bit, it will jump back to where the mouse is.
What should happen:
The window should unmaximize and enter move mode, but it should be under the mouse cursor, not its previous unmaximized position.
On a side note: Can you make it so that the window is not unmaximized until the user actually moves it? Google Chrome doesn't have the button press timeout and enters move mode immediately, which means that clicking its titlebar will always unmaximize it if the gesture is enabled.
I've also reported bug 228819 because of the Chrome issue.
*** Bug 228819 has been marked as a duplicate of this bug. ***
*** This bug has been marked as a duplicate of bug 222100 ***
This isn't a duplicate of bug 222100, bug 228819 is.
We should move the window on unmaximizing
*** Bug 233164 has been marked as a duplicate of this bug. ***
*** Bug 235091 has been marked as a duplicate of this bug. ***
*** Bug 244719 has been marked as a duplicate of this bug. ***
4.7.0, the issue is still here as described in this duplicate https://bugs.kde.org/show_bug.cgi?id=233164 :
1. Start new application (Dolphin)
2. Maximize it
3. Press mouse on the middle of window decoration and drag it down
Window would be demiximized as expected, but mouse pointer would hold the
window by the left edge of the decoration.
mouse pointer should hold the window by its middle.
Yes it still occurs in KDE SC 4.7
It definnitely should not be handled this way. Probably like calculating the % relative to the entire bar where the pointer is and calculating the new window position to have the mouse at the same relative % as before.
Like for example, if I have my mouse at 250px from a maximized window top left corner, when I drag it, if it was 1000px wide : position = 25% from top left so if it is reduced to say a 100px wide window, my new pointer should end up at 25px (25% from the new 100px length) from the left corner.
What do you think ?
I don't know how this is managed on others window managers.
>Probably like calculating the % relative to the entire bar...
actually it already works in this way - the issue only happens when the window is 1st demaximized in this way after starting - if you reproduce the issue with one just started window, then maximize and demaximize same window with mouse again, it would work as expected.
Git commit 3e011abbdaad63abb3396f86f39f210007dace15 by Thomas Lübking.
Committed on 19/03/2012 at 19:23.
Pushed by luebking into branch 'master'.
fake a move event when dropping out of quick tiling
M +4 -0 kwin/geometry.cpp