我需要更改 GTK 应用程序中鼠标滚轮的滚动速率。我下载并修改了 GTK3 源代码。我重新编译了它。它对 gedit 和 nautilus 起作用了。但没有对 gnome-terminal 起作用,尽管它是一个 GTK3 应用程序。
我更改了 if-else 子句中以 开头的行delta=
。只是将数字改为奇怪的数字,这样我就能看见变化(如果有的话)。
以下是我所做的更改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
**/
gdouble
_gtk_range_get_wheel_delta (GtkRange *range,
GdkScrollDirection direction)
{
GtkRangePrivate *priv = range->priv;
GtkAdjustment *adjustment = priv->adjustment;
gdouble delta;
if (GTK_IS_SCROLLBAR (range))
**delta = pow (gtk_adjustment_get_page_size (adjustment), 1.0 / 94.0);**
else
**delta = gtk_adjustment_get_step_increment (adjustment) * 400;**
if (direction == GDK_SCROLL_UP ||
direction == GDK_SCROLL_LEFT)
delta = - delta;
if (priv->inverted)
delta = - delta;
return delta;
}