Bug 438283

Summary: Moving a dialog in a GTK app by touch does not work properly
Product: [Plasma] kwin Reporter: Nicolas Fella <nicolas.fella>
Component: generalAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal CC: bugseforuns, nate
Priority: NOR    
Version: git master   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 5.22.3
Attachments: Video

Description Nicolas Fella 2021-06-08 18:36:52 UTC
STEPS TO REPRODUCE
1. Install and open https://github.com/xou816/spot 
2. You get a popup asking for your Spotify account
3. Move that popup using your touchscreen

OBSERVED RESULT
The popup moves, but displaced to the finger


EXPECTED RESULT
the popup moved at the position of the finger


SOFTWARE/OS VERSIONS
KDE Plasma Version: master
KDE Frameworks Version: master
Qt Version: 5.15-kde

ADDITIONAL INFORMATION
One screen, no scaling

This works as expected on Weston. On Sway the dialog is not moved by touch at all
Comment 1 Nate Graham 2021-06-08 18:39:40 UTC
Wayland, I assume? Is this popup a separate window?
Comment 2 Nicolas Fella 2021-06-08 18:40:34 UTC
yes to both
Comment 3 Nicolas Fella 2021-06-08 18:42:24 UTC
Created attachment 139112 [details]
Video
Comment 4 Patrick Silva 2021-06-09 01:39:07 UTC
CSD window? See bug 396157
Comment 5 Nicolas Fella 2021-06-09 12:48:05 UTC
yes, CSD.

I now see that the same applies to the main window too.

It's not that the window doesn't move at all, the move is just ... weird
Comment 6 Patrick Silva 2021-06-10 13:52:37 UTC
Tesyed again on neon unstable installed on my laptop with touchscreen.
When I tapped the CSD, the window simply jumped to out of the screen. lol
Comment 7 Bug Janitor Service 2021-06-30 23:36:22 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/1138
Comment 8 Zamundaaa 2021-07-01 13:14:00 UTC
Git commit f54d7a2697261754cfcfcc06d0fb5682955f1859 by Xaver Hugl.
Committed on 01/07/2021 at 13:13.
Pushed by zamundaaa into branch 'master'.

xdgshellclient: fix moveresize with touch and CSD

When moveresize is done with touch we need to use the current touch
point and not the mouse position.
Related: bug 431489

M  +15   -2    src/xdgshellclient.cpp

https://invent.kde.org/plasma/kwin/commit/f54d7a2697261754cfcfcc06d0fb5682955f1859
Comment 9 Zamundaaa 2021-07-01 13:28:51 UTC
Git commit d78c89f0ede635d9aa2f6d7f369fe3d38d57b466 by Xaver Hugl.
Committed on 01/07/2021 at 13:16.
Pushed by zamundaaa into branch 'Plasma/5.22'.

xdgshellclient: fix moveresize with touch and CSD

When moveresize is done with touch we need to use the current touch
point and not the mouse position.
Related: bug 431489
(cherry picked from commit f54d7a2697261754cfcfcc06d0fb5682955f1859)

M  +15   -2    src/xdgshellclient.cpp

https://invent.kde.org/plasma/kwin/commit/d78c89f0ede635d9aa2f6d7f369fe3d38d57b466