Re: Dealing with GTK 3.3.18 scrolling handling changes for GNOME 3.4
- From: Carlos Garnacho <carlosg gnome org>
- To: Colin Walters <walters verbum org>
- Cc: desktop-devel-list gnome org
- Subject: Re: Dealing with GTK 3.3.18 scrolling handling changes for GNOME 3.4
- Date: Fri, 16 Mar 2012 12:51:13 +0100
Hey,
In order to provide some background to the ML, scroll events were being
sent to widgets with GDK_BUTTON_PRESS_MASK (no scroll mask required),
but this played odd with smooth scrolling as scrolled windows get scroll
events in 2 ways:
1) bubbled up from the child within
2) received directly via priv->overshoot_window, only if no child
handles scrolling
With the old behavior, 1) would happen on every widget that would handle
button presses, but not necessarily scrolling, so scrolling in a
viewport or textview (handling smooth scroll) with eg. buttons (handling
just button presses) would intermittently coerce smooth and non-smooth
scrolling depending on the widget below the pointer, the weighted
solutions were:
1) Requiring apps to set GDK_SMOOTH_SCROLL_MASK on *every* widget within
a scrolled window if they want smooth scrolling, or face odd behavior
2) Changing GDK so scroll events are only sent if
GDK_[SMOOTH_]SCROLL_MASK is in the evmask.
Both options required changes to applications (different sets though),
and there are likely way more applications with custom UIs within a
viewport than custom scrollable widgets out there, so 2) was chosen
On jue, 2012-03-15 at 12:52 -0400, Colin Walters wrote:
> On Thu, 2012-03-15 at 08:10 -0400, Matthias Clasen wrote:
>
> > Thanks for bringing these up. I'm sure there will be some more fallout
> > from the xi2 changes. I don't know if we'll be able to have perfectly
> > seamless compatibility in the scroll event case, there are some
> > complications that make that hard.
>
> But do you have a global sense of whether we should at this point:
>
> 0) Patch affected applications
I think that should be done anyway for coherence (if you expect scroll
events, setting the scroll mask shouldn't hurt). I could just count 3
custom scrollable widgets in gnome outside of gtk (webkit, g-t and
gucharmap), so it shouldn't be a big effort either.
> 1) Pursue hacks (or non-hacks?) in GTK+ to improve compatibility
> 2) Make it opt-in
Hard to come up with a compatible solution, even if smooth scrolling is
optional.
Carlos
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]