Created attachment 9794
Add GDK_SMOOTH_SCROLL_MASK to event mask
The overshoot effect is handled by GtkScrolledWindow, but only if GDK_SMOOTH_SCROLL events are enabled. However, simply adding it to the event mask breaks Thunar's list view because exo_icon_view_scroll_event() expects the non-smooth scrolling data.
Thanks Theo ! Afaik Sean is currently working on dropping all gtk2 dependencies, having gtk3 as requirement. Possibly best to wait until he is finished, so the #if GTK_CHECK_VERSION (3, 0, 0) can be dropped, and possibly the complete method can be simplified
Note that the overshoot effect is not present in list view (yet).
Works for me for icon and detailed view. Only compact view does not have it yet .. (would require overshoot event on the left/right)
exo-icon-view.c: In function ‘exo_icon_view_realize’:
exo-icon-view.c:1717:27: error: ‘GDK_SMOOTH_SCROLL_MASK’ undeclared (first use in this function); did you mean >‘GDK_SCROLL_MASK’?
1717 | | GDK_SMOOTH_SCROLL_MASK
| ^~~~~~~~~~~~~~~~~~~~~~
| GDK_SCROLL_MASK
exo-icon-view.c:1717:27: note: each undeclared identifier is reported only once for each function it appears in
exo-icon-view.c: In function ‘exo_icon_view_scroll_event’:
exo-icon-view.c:2883:32: error: ‘GDK_SCROLL_SMOOTH’ undeclared (first use in this function); did you mean ‘GTK_SCROLL_START’?
2883 | else if (event->direction == GDK_SCROLL_SMOOTH)
| ^~~~~~~~~~~~~~~~~
| GTK_SCROLL_START
In any case, you need to bump the minimum gtk version to 3.4 in configure.ac.in (or use the old enums ... I guess best to ask Sean what is prefered)