If you use a touchpad, the mouse scroll distance is a float value, not just 1 or -1. Currently when scrolling in geany, it scrolls 4 (in my experience) lines seriatim. Instead you could use the float value to perform more fine scrolling (at least 1 line at once) and save the unused rest to a static variable. For example when the static variable's value is -0.3 and the scroll distance is -0.2, the distance is firstly multiplied by that scroll factor 4, which gives -0.8, then the static variable is added. The result is -1.1, thus it scrolls one line up and the static variable becomes -0.1.
Scrolling is controlled by the Scintilla editing widget Geany uses. AFAICT it does not have the option to control scroll rate, but I'm not sure that the GTK backend supports it either.
![evince](https://github.com/GNOME/evince) (the pdf viewer) supports very fine scrolling and it uses GTK l think.
Evince is a GTK3 only application, Geany and Scintilla support both GTK2 and 3.
github-comments@lists.geany.org