Dealing with GTK 3.3.18 scrolling handling changes for GNOME 3.4



Hi everyone,

GTK 3.3.18 and smooth scrolling landing created quite some issues which seems to have been mostly unnoticed, unaddressed so far, since the hard freeze for GNOME 3.4 is next week I'm bringing the topic there.
Some of the details there might be wrong and I'm happy to be corrected, 
it's just my understanding of the changes
* widgets need to opt-in for scroll events (GDK_SCROLL_MASK), that makes 
scrolling stop working in applications using custom widgets
(example: 
http://git.gnome.org/browse/nautilus/commit/?id=04116ab2876412445c788091be07d7f7321a4a94)
* if you are on xserver 1.12 with xinput 2.2 your application stop 
receiving GDK_SCROLL_DOWN and GDK_SCROLL_UP events, but receive 
GDK_SCROLL_SMOOTH with an increment instead
that change seems to create quite some issue, it breaks for example 
mouse wheel scrolling over sound sliders in the control center, or 
scrolling in nautilus compact view
Grepping around in my work tree I see there are quite a lot of GNOME 
components using GDK_SCROLL_UP,DOWN, I guess those will stop working as 
they should.
Nautilus fixed a such issue in 
http://git.gnome.org/browse/nautilus/commit/?id=1a76e044a2c9b834d00c4ea30f1e3af3321d8cdd
It's likely that other applications will need to add extra cases to 
handle the new way
I think that's an issue we should look at addressing before 3.4, either 
by doing some "compat" work in GTK (i.e keep emiting the scroll up down 
events as well as the smooth ones if possible) or by patching the 
applications, the rdepends list is likely not trivial though...
Thoughts?

--
Sebastien Bacher


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]