Bug 395368 - Drag should not directly raise every client it touches
Summary: Drag should not directly raise every client it touches
Alias: None
Product: kwin
Classification: Plasma
Component: wayland-generic (show other bugs)
Version: git master
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: KWin default assignee
Depends on:
Reported: 2018-06-14 12:42 UTC by Roman Gilg
Modified: 2021-03-25 18:22 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.22


Note You need to log in before you can comment on or make changes to this bug.
Description Roman Gilg 2018-06-14 12:42:32 UTC
A drag and drop operation activates every client the pointer touches. This hinders the work flow and is different to X if I remember correctly.
Comment 1 Martin Flöser 2018-06-14 14:59:18 UTC
It shouldn't activate, but the window should be raised.
Comment 2 Roman Gilg 2018-06-16 10:32:12 UTC
Correct, it's raised only, but I don't think it should. I have often a cascade of multiple windows open with only a small part looking out from underneath. 

Dragging stuff from one window next to this cascade to the top-most is then not possible because when moving the cursor over the small part of the lower windows raises it and covers the top-most one.

What could be done is raise it after the drop was done on the lower one.
Comment 3 Martin Flöser 2018-06-16 11:42:49 UTC
In that case you disagree with most users. That windows aren't raised during drag and drop on X11 was one of the most often reported bugs.
Comment 4 Roman Gilg 2018-06-16 16:06:09 UTC
Ah, I think I know now what I (and they) want: Raise the window, but only after a delay. Such that when you move the drag quickly across a small ledge of another window that is mostly behind your real target it does not directly raise the window in front of your target window.
Comment 5 Martin Flöser 2018-06-16 16:26:08 UTC
Adding a delay could be an option.
Comment 6 Grósz Dániel 2020-11-17 03:13:52 UTC
I agree that windows shouldn't be raised, or at least not without a delay. If I have a maximized window in the background (such as KMail), and several smaller windows on top of it that I'm working with, it's impossible to drag and drop from one of these into another if they don't touch.

Well, it would be possible to activate the target through the task bar (if that didn't make Plasma crash on Wayland), but typically the visible windows are the ones I'm working with, and I'd rather go through the taskbar route in the less common case of dragging into an area of a window that is not visible.

KWin can even be configured in such a way that clicking inside a window doesn't raise it; with that setup it's weird that dragging over a window raises it immediately.
Comment 7 Zamundaaa 2021-03-25 12:41:11 UTC
Git commit ad7a826ea13656bae19ad17dc812bcc8f3e6501c by Xaver Hugl.
Committed on 25/03/2021 at 12:40.
Pushed by zamundaaa into branch 'master'.

Drag'n'drop: only activate clients after still hover

M  +42   -5    src/input.cpp