gdouble value;
         gint count = vp.state.count ? vp.state.count : 1;
         if (arg->i & VP_SCROLL_UNIT_LINE) {
-            /* make scroll step configurable */
-            value = 40;
+            value = vp.config.scrollstep;
         } else if (arg->i & VP_SCROLL_UNIT_HALFPAGE) {
             value = gtk_adjustment_get_page_size(adjust) / 2;
         } else {
 
 
 static gboolean setting_webkit(const Setting* s);
 static gboolean setting_cookie_timeout(const Setting* s);
+static gboolean setting_scrollstep(const Setting* s);
 
 static Setting default_settings[] = {
     /* webkit settings */
     {"zoom-step", TYPE_DOUBLE, setting_webkit, {.i = 100}},
     /* internal variables */
     {"cookie-timeout", TYPE_INTEGER, setting_cookie_timeout, {.i = 4800}},
+    {"scrollstep", TYPE_INTEGER, setting_scrollstep, {.i = 40}},
 };
 
 static GHashTable* settings = NULL;
 
     return TRUE;
 }
+
+static gboolean setting_scrollstep(const Setting* s)
+{
+    vp.config.scrollstep = s->arg.i;
+
+    return TRUE;
+}