GNOME Bugzilla – Bug 759670
GtkPaned doesn't react to mouse dragging in some cases
Last modified: 2016-01-08 21:04:37 UTC
Created attachment 317670 [details] screen recording I think this problem exists since the gesture work last cycle but I never bothered to report.. 1) Open gtk3-widget-factory 2) Go to page 2 3) Move mouse to the panes at the bottom displaying "left"/"right" 4) Hover the pane somewhere at the bottom until the cursor changes to the drag icon 5) Slowly move the cursor up and keep it in the hover state 6) After a second press the button and drag -> the pane doesn't move as expected screen recording attached
In my experience, this happens whenever the first drag update is only in y direction, in which case the pan gesture is not a horizontal one anymore. Should we just switch to a drag gesture instead? Or would that conflict with other gestures?
Yes, that's probably the issue being seen. Back when I did the gesture porting, I thought this was a fancy place to use the pan gesture because there's one entire axis where dragging to is not that effective. Actually, touch support kind of depends on the current gesture behavior, because the paned handle drag area is made wider there (covering partly both children) in order to ease drags. If eg. an hpaned consumes vertical drags too, those will be unable to make it to the children because the paned will consume those (e.g. scrolledwindows at both sides of the paned like in the filechooser case). If it comes across as nonintuitive, should be easy enough preserve the current gesture for touch only, and adding a GtkGestureDrag for the mouse case. OTOH, I think this is the first bug since 3.14, so 1) people never noticed or 2) they never bothered to write a bug about it.
Created attachment 317856 [details] screen recording 2 I hit it quite frequently mostly when moving the mouse to the paned at an angle. See attached recording for a more "realistic" scenario. (Btw, I've opened another paned bug some time ago, maybe it has a similar cause: bug 731574)
(In reply to Carlos Garnacho from comment #2) > > If it comes across as nonintuitive, should be easy enough preserve the > current gesture for touch only, and adding a GtkGestureDrag for the mouse > case. OTOH, I think this is the first bug since 3.14, so 1) people never > noticed or 2) they never bothered to write a bug about it. I notice it all the time...
Created attachment 317865 [details] [review] paned: Use GtkGestureDrag for anything else than touch The GtkGesturePan behavior of locking onto certain orientations may come across as confusing, and is not strictly necessary for mice and other pointing devices. As GtkGesturePan is also a GtkGestureDrag, we just use the same callbacks on both gestures.
Attachment 317865 [details] pushed as e62f160 - paned: Use GtkGestureDrag for anything else than touch