The function that determines the scroll rate is in gtk/gtkrange.c
/**
* _gtk_range_get_wheel_delta:
* @range: a #GtkRange
* @direction: A #GdkScrollDirection
*
* Returns a good step value for the mouse wheel.
*
* Return value: A good step value for the mouse wheel.
*
* Since: 2.4
**/
Here, the scroll rate is determined dynamically by a smart (not so much?) algorithm:
delta = pow (adj->page_size, 2.0 / 3.0);
I don't want to offend the gtk developer that implemented this algorithm there. Obviously it may have temporarily solved the users complaining about too fast/too slow scrolling, but now it is time to make the scroll rate modifiable by the user.
Of course, implementing a new scrolling algorithm from scratch (with smooth scrolling) must be a priority too, since Ubuntu will possibly be coming to smartphones/tablets. But that rather than waiting for that, this problem can be fixed by a simple gtk patch which will read the scroll rate from a config file.
The function that determines the scroll rate is in gtk/gtkrange.c
/** get_wheel_ delta:
* _gtk_range_
* @range: a #GtkRange
* @direction: A #GdkScrollDirection
*
* Returns a good step value for the mouse wheel.
*
* Return value: A good step value for the mouse wheel.
*
* Since: 2.4
**/
Here, the scroll rate is determined dynamically by a smart (not so much?) algorithm:
delta = pow (adj->page_size, 2.0 / 3.0);
I don't want to offend the gtk developer that implemented this algorithm there. Obviously it may have temporarily solved the users complaining about too fast/too slow scrolling, but now it is time to make the scroll rate modifiable by the user.
Of course, implementing a new scrolling algorithm from scratch (with smooth scrolling) must be a priority too, since Ubuntu will possibly be coming to smartphones/ tablets. But that rather than waiting for that, this problem can be fixed by a simple gtk patch which will read the scroll rate from a config file.