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]