Bug 403104

Summary: Dragging a window from the panel breaks autohide behaviour
Product: [Unmaintained] lattedock Reporter: Steffen Coenen <tardingens>
Component: applicationAssignee: Michail Vourlakos <mvourlakos>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version First Reported In: git (master)   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Steffen Coenen 2019-01-11 14:33:27 UTC
Currently, when dragging a window from the panel to move it, it breaks the autohide behaviour of active docks/panels in two different ways.
1. If the panel the window is dragged from is set to autohide it does not hide after the mouse left it while dragging the window.
2. After dragging a window from a panel, the first attempt to show a currently hidden panel by moving to the mouse to corresponding screen edge fails. This does not seem to happen if the cursor entered another panel first after the initial dragging.

All these bugs happened on X11 and while I tried to do some Wayland testing, where I felt like these problems did not occur, I cannot reliably test Wayland on my system.

I made some changes to fix this behaviour. They work for me, but since I do not usually write code, they probably do not look great. My hope is that these changes might indicate what the problem is:
https://github.com/Tar-Dingens/latte-dock/commit/9a889293722bf33d39a735eb8e62bae798f8cc68
Comment 1 Michail Vourlakos 2019-01-11 17:20:30 UTC
Very nice!  

You imitate a release event for that window under X11!

I adjusted the code in order for this to be in the Latte WMs classes that feels more appropriately.
Can you make a PR through kde phabricator? I am asking in case you want for that commit to have a reference with your full name and e-mail address!
Comment 2 Michail Vourlakos 2019-01-11 17:21:10 UTC
Under wayland I just tested there is no problem so this approach is needed only under X11
Comment 3 Steffen Coenen 2019-01-11 18:05:03 UTC
I created a review request on Phabricator:
https://phabricator.kde.org/D18194

I hope this is usable because I really do not understand how Phabricator is supposed to work.
Comment 4 Michail Vourlakos 2019-01-11 18:20:07 UTC
(In reply to Steffen Coenen from comment #3)
> I hope this is usable because I really do not understand how Phabricator is
> supposed to work.

phabricator is just a way for a patch to be discussed and authored and after it is authored to be commited in a project. I have sent you my version in there in order to discuss it if you are ok or you think something needs improvements.
Comment 5 Michail Vourlakos 2019-01-14 16:50:20 UTC
Git commit 56cfb427348ab681df924ad1cd9381033f97cfd8 by Michail Vourlakos, on behalf of Steffen Coenen.
Committed on 14/01/2019 at 16:50.
Pushed by mvourlakos into branch 'master'.

Fix autohide behaviour after dragging a panel

Summary:
Currently, when dragging a window from the panel to move it, it breaks the autohide behaviour of active docks/panels. This change imitates a release event on X11 to circumvent these problems.

Reviewers: mvourlakos

Reviewed By: mvourlakos

Subscribers: plasma-devel

Tags: #latte_dock, #plasma

Differential Revision: https://phabricator.kde.org/D18194

M  +10   -0    app/view/visibilitymanager.cpp
M  +1    -0    app/wm/abstractwindowinterface.h
M  +5    -0    app/wm/waylandinterface.cpp
M  +1    -0    app/wm/waylandinterface.h
M  +22   -0    app/wm/xwindowinterface.cpp
M  +1    -0    app/wm/xwindowinterface.h

https://commits.kde.org/latte-dock/56cfb427348ab681df924ad1cd9381033f97cfd8