Bug 203655

Summary: Desktop grid effect causes mouse to be snapped to lower right corner of screen
Product: [Plasma] kwin Reporter: eightmillion
Component: compositingAssignee: KWin default assignee <kwin-bugs-null>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description eightmillion 2009-08-13 06:37:39 UTC
Version:           4.3.00 (using KDE 4.3.0)
OS:                Irix
Installed from:    Ubuntu Packages

I have the lower right corner of my desktop setup to trigger the desktop grid effect. When I move my mouse pointer into the corner to trigger the effect and then move it quickly to the desktop that I want to select, the mouse gets reset to the lower right corner of the screen and I have to move it back to the desktop that I want to select. This only happens if the action is performed reasonably fast and it seems to happen for whatever effect is set for the screen corners.
Comment 1 eightmillion 2009-08-13 06:39:23 UTC
Oh, and the OS should be Linux. Irix is a mistake.
Comment 2 Martin Flöser 2009-08-23 14:49:57 UTC
It's actually not a bug, but intended behaviour. I set to duplicate to the feature request for implementing a customization.

Oh and by setting the delay in screen edges kcm to 0 you won't have the problem

*** This bug has been marked as a duplicate of bug 198225 ***
Comment 3 eightmillion 2009-08-23 22:05:43 UTC
Thanks for the reply Martin, but I don't think that bug has anything to do with the behavior that I'm trying to describe and changing the values for activation delay and reactivation delay have no effect my problem. I'll try to describe it again. When I activate the effect with my mouse pointer in the lower right hand corner, and quickly move it to the top of the screen (before the effect is finished animating), when the animation completes my mouse pointer is snapped back to the corner that the effect was activated from. If this is intended behavior, then I can't imagine the reason why. I don't think there's any case where I want my pointer to move a thousand pixels without me moving my mouse. I've to do a screen capture, but the software drops to many frames to be useful.
Comment 4 Martin Flöser 2009-08-23 22:28:09 UTC
I did not understand it correctly, so I reopen.

When talking about quickly, how fast do I have to be?
Do you use active border desktop switching?
Comment 5 eightmillion 2009-08-24 00:32:21 UTC
Thank you. I don't use active border switching. If I had to guess on the time frames involved, I would say on the order of 100s of milliseconds, maybe <200-300. You have to move your pointer out of the corner before the zoom out effect finishes its animation. Then, when the animation is completed, the pointer gets moved back to the corner.
Comment 6 lucas 2009-08-24 04:51:55 UTC
I was originally going to say that the X warp pointer calls are not being flushed but after a search of the KWin code we don't do any warping at all...
Comment 7 lucas 2009-08-24 04:54:37 UTC
Ah, my bad. KWin uses Qt's wrapper functions for warping which is why my search didn't return any results.

Warp in question is at the very of Workspace::checkElectricBorder() in workspace.cpp.
Comment 8 Martin Flöser 2009-09-04 22:55:56 UTC
no matter how hard I try I am unable to reproduce with my trackball or the touchpad :-( Those are just not fast enough for a switch of direction in such a short time period. That will make it probably hard to fix.
Comment 9 Thomas Lübking 2009-09-04 23:33:41 UTC
i can neither with a mouse (even not setting anim speed to "extreme slow") and actually i can move the cursor across all 4 desktops before the animation (normal speed) stops...
- Do you maybe have some widget or panel in that corner?
- What are your re/activation delay values anyway?

@Martin:
don't try to invert the movement vector, do a circle hitting the corner ;-)
Comment 10 eightmillion 2009-10-30 03:19:43 UTC
Thomas,
My activation/delay values 100ms and 250ms respectively. They are the defaults as far as I'm aware. My panel runs into that corner. I don't know if it has anything to do with number of desktops, but I have 6 arranged 2 high and 3 wide.
Comment 11 Thomas Lübking 2009-10-30 16:46:55 UTC
my very first guess would go to the panel handling the mouse enter event, tried to move it away (e.g. shorten a bit?) so you don't cross it when activating the effect?
Comment 12 eightmillion 2011-03-09 19:54:51 UTC
I haven't noticed this problem for quite a while now, so I'm closing this bug. Thanks.