[kwin] [Bug 36065] dragging from a window should not raise it

2021-07-08 Thread Eduardo
https://bugs.kde.org/show_bug.cgi?id=36065

Eduardo  changed:

   What|Removed |Added

 CC||zl...@hotmail.com

-- 
You are receiving this mail because:
You are watching all bug changes.

[kwin] [Bug 36065] dragging from a window should not raise it

2016-03-03 Thread Thomas Lübking via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=36065

--- Comment #50 from Thomas Lübking  ---
FYI, on windows, window management is completely done by the clients (so a
client knows that this is gonna be a drag and can avoid the self-raise)
The WM_TAKE_FOCUS protocol (despite the focus has really nothing to do with the
stack order) pointed that direction (and sucks terribly because of broken
client implementations... letting alone the focus stealing problems)

Raising on MB release would be possible (on caveats, see comment #37), but just
cause other behavioral problems (if the user didn't want to drag something, but
draw a selection frame etc.)

About present windows to the rescue:
*cough* https://git.reviewboard.kde.org/r/105341/ **COUGH**
:-P


Last thought: detect the drag (maybe even on X11 by listening to dnd messages
rather than "something grabbed the pointer") and restore the stack if it
happened within "the dnd timeout™" (which doesn't exist either - there's no
guarantee Qt and Gtk wait the same amount of time), ie. lower the window we
just raised (while even that could be nasty: assume the user wanted to dnd
within the just raised client and suddenly it lowers again)

tl;dr - clean up your f desktop ;-P

-- 
You are receiving this mail because:
You are watching all bug changes.

[kwin] [Bug 36065] dragging from a window should not raise it

2016-03-03 Thread Syam via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=36065

--- Comment #49 from Syam  ---
(In reply to Syam from comment #48)
> (In reply to Martin Gräßlin from comment #47)
> > (In reply to Syam from comment #46)
> > 
> > Changing the action to be performed on release instead of press would be
> > rather weird. The window would not activate till you release. That's not
> > what a user (and applications) expects.
> 
> Is it really weird? I wonder how it is done on Windows? Does the background
> window raise at mouse-down itself or only on 'click', i.e. after mouse-up? I
> have to boot in to a Windows machine before confirming.

Just checked on Windows. You are right. The raise happens on mouse down itself,
unless its a drag.

-- 
You are receiving this mail because:
You are watching all bug changes.

[kwin] [Bug 36065] dragging from a window should not raise it

2016-03-03 Thread Ismail Donmez via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=36065

Ismail Donmez  changed:

   What|Removed |Added

 CC|ism...@i10z.com |

-- 
You are receiving this mail because:
You are watching all bug changes.


[kwin] [Bug 36065] dragging from a window should not raise it

2016-03-03 Thread Syam via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=36065

--- Comment #48 from Syam  ---
(In reply to Martin Gräßlin from comment #47)
> (In reply to Syam from comment #46)
> > The problem is that this raise happens not on 'click' but on mouse-down
> > itself.
> 
> This is correct, the raise happens on press if that's the action you
> configured for what happens on click on inactive window. This is
> configurable. If you don't like the default of "Activate, Raise & Pass
> Click" change it to "Activate & Pass Click".

This has been suggested earlier. But it doesn't really work, because the
setting is really for mouse-down and not a 'click' (which is completed at
mouse-up). With "Activate and Pass click", the window won't be raised after one
click. The user needs to click on it again to raise it. And that is indeed
weird, I agree.

> 
> Changing the action to be performed on release instead of press would be
> rather weird. The window would not activate till you release. That's not
> what a user (and applications) expects.

Is it really weird? I wonder how it is done on Windows? Does the background
window raise at mouse-down itself or only on 'click', i.e. after mouse-up? I
have to boot in to a Windows machine before confirming.


> If we had any chance to know that
> the user intends to drag we could perform a different strategy.
I see from some earlier comments that the devs are stuck on this 'angle' to
solve the problem. But as mentioned in the original report, 'raising at
mouse-up and not immediately after mouse-down' would solve it without any need
to know if a drag is being done.

> 
> To me the issue is fixed. This bug report contains multiple suggestions on
> how it should behave. Several of them even contradicting.

Well, the original report mentions one problem and one solution. I understand
that it is difficult to implement this with current technology - as pointed out
in some earlier comment, on current Linux desktops & GUI libraries, everything
seems to happen at mouse-down and not on mouse-clicks.


> 
> Now as I'm the only one here who probably has tried this out, I ask you to
> first try it before starting discussions about the state of this bug report.

I am deeply sorry if my earlier comment offended you. I was afraid if it'd come
out like this. But I didn't mean any disrespect. I have very high regards for
devs, especially you :-)

-- 
You are receiving this mail because:
You are watching all bug changes.

[kwin] [Bug 36065] dragging from a window should not raise it

2016-03-03 Thread Martin Gräßlin via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=36065

--- Comment #47 from Martin Gräßlin  ---
(In reply to Syam from comment #46)
> The problem is that this raise happens not on 'click' but on mouse-down
> itself.

This is correct, the raise happens on press if that's the action you configured
for what happens on click on inactive window. This is configurable. If you
don't like the default of "Activate, Raise & Pass Click" change it to "Activate
& Pass Click".

Changing the action to be performed on release instead of press would be rather
weird. The window would not activate till you release. That's not what a user
(and applications) expects. If we had any chance to know that the user intends
to drag we could perform a different strategy.

To me the issue is fixed. This bug report contains multiple suggestions on how
it should behave. Several of them even contradicting. If we should only mark it
as fixed when all of them are fixed, it won't happen. I consider it as fixed as
the actual problem is fixed.

Now as I'm the only one here who probably has tried this out, I ask you to
first try it before starting discussions about the state of this bug report.
Also I'm not interested in discussions whether it's fixed or wontfixed. I have
better things to do with my dev time (like fixing 14 year old bug reports).

-- 
You are receiving this mail because:
You are watching all bug changes.

[kwin] [Bug 36065] dragging from a window should not raise it

2016-03-03 Thread Syam via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=36065

--- Comment #46 from Syam  ---
(In reply to Martin Gräßlin from comment #45)
> > I'm not sure if that'd suffice. Consider the situation:
> 
> We considered this situation during our discussions and came to the
> conclusion that it's out of scope. The drag is performed from the active
> window, for the compositor it's impossible to know that the user clicked the
> window to perform a drag and that's also not how the Wayland protocol allows
> to start a drag (the click must(!) be passed to the window).

The problem is that this raise happens not on 'click' but on mouse-down itself.


> 
> There are multiple ways now to circumvent the problem:
Exactly! These are ways to 'circumvent' the problem. The problem exists and it
is disappointing to see that it'd still need to be worked around even though we
now have a perfect opportunity to fix this - Wayland new Qt etc etc.

> 
> We also think that the users are able to realize that they cannot drag from
> a maximized window and will change the geometry before. Just like users use
> split screen in Dolphin to better support drag'n'drop.

Hmm.. Users are not just 'able' to realise. They are forced to. And all these
workaround statements can be equally applied to removing drag & drop altogether
(for Dolphin, for example) saying that "users can just do Ctrl+C/X & Ctrl+V".

Anyway, if this is how we are 'fixing' this bug, please close it as WONTFIX
rather than FIXED. Because that's what's happening to this bug report. No
offense.

-- 
You are receiving this mail because:
You are watching all bug changes.

[kwin] [Bug 36065] dragging from a window should not raise it

2016-03-03 Thread Martin Gräßlin via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=36065

--- Comment #45 from Martin Gräßlin  ---
> I'm not sure if that'd suffice. Consider the situation:

We considered this situation during our discussions and came to the conclusion
that it's out of scope. The drag is performed from the active window, for the
compositor it's impossible to know that the user clicked the window to perform
a drag and that's also not how the Wayland protocol allows to start a drag (the
click must(!) be passed to the window).

There are multiple ways now to circumvent the problem:
* mark the "destination" window as keep above
* use Alt+Tab during drag and drop to change window
* use Present Windows (that needs implementation) to change window
* use task bar to switch windows

We also think that the users are able to realize that they cannot drag from a
maximized window and will change the geometry before. Just like users use split
screen in Dolphin to better support drag'n'drop.

-- 
You are receiving this mail because:
You are watching all bug changes.

[kwin] [Bug 36065] dragging from a window should not raise it

2016-03-02 Thread Syam via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=36065

--- Comment #44 from Syam  ---
(In reply to Martin Gräßlin from comment #42)
> 
> So far we concluded that the best approach is to implement a raise on hover
> approach. As soon as the mouse enters another window during drag that one
> will be raised to give a clear field for the drop.

I'm not sure if that'd suffice. Consider the situation:
1. The 'source' window is behind the 'destination' window initially
2. The source window would cover the destination window completely if it is
raised
3. Because the source window is behind the destination window initially, the
destination window is visible
4. Now the user wants to drag something from the source window to the
destination window
5. The user starts to drag some item from the source window.
6. If the source window is raised, the destination window is no longer visible
so 'hovering' over it is not possible!

PS: I am extremely happy to see this bug being worked up on. Thanks a million
for all the great work you guys are doing.

-- 
You are receiving this mail because:
You are watching all bug changes.

[kwin] [Bug 36065] dragging from a window should not raise it

2016-03-02 Thread Martin Gräßlin via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=36065

Martin Gräßlin  changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
   Version Fixed In||5.6.0 (Wayland only)
 Resolution|--- |FIXED
  Latest Commit||http://commits.kde.org/kwin
   ||/8a1f19b1450fc244977ad6e7df
   ||f48d4fb6c28a13

--- Comment #43 from Martin Gräßlin  ---
Git commit 8a1f19b1450fc244977ad6e7dff48d4fb6c28a13 by Martin Gräßlin.
Committed on 02/03/2016 at 07:34.
Pushed by graesslin into branch 'master'.

Add support for Drag'n'Drop on Wayland

Drag'n'Drop on Wayland allows us to improve the drag'n'drop experience.
When entering a window during the drag'n'drop operation, KWin raises it.
FIXED-IN: 5.6.0 (Wayland only)

M  +42   -0input.cpp
M  +115  -0pointer_input.cpp
M  +7-0pointer_input.h

http://commits.kde.org/kwin/8a1f19b1450fc244977ad6e7dff48d4fb6c28a13

-- 
You are receiving this mail because:
You are watching all bug changes.

[kwin] [Bug 36065] dragging from a window should not raise it

2016-02-29 Thread Martin Gräßlin via KDE Bugzilla
https://bugs.kde.org/show_bug.cgi?id=36065

--- Comment #42 from Martin Gräßlin  ---
I started working on drag'n'drop support for Wayland and also looked at a
solution for this problem.

This morning I discussed ideas with our usability team and we will also do some
iterative in person tests next week during our development sprint.

So far we concluded that the best approach is to implement a raise on hover
approach. As soon as the mouse enters another window during drag that one will
be raised to give a clear field for the drop.

At the moment the keyboard focus (aka active window) will stay with the window
dragged from after the drop. It is difficult to say what the user expects to
happen after the drop. Both cases working with the window dragged from and
working with the window dragged to are equally possible. The current
implementation follows the focus policy: with click to activate the focus stays
with the window dragged from, with focus follows mouse the window dragged to
will activate.

-- 
You are receiving this mail because:
You are watching all bug changes.