]> git.armaanb.net Git - chorizo.git/commitdiff
Add config option "scroll_lines"
authorArmaan Bhojwani <me@armaanb.net>
Mon, 7 Jun 2021 21:38:12 +0000 (17:38 -0400)
committerArmaan Bhojwani <me@armaanb.net>
Thu, 10 Jun 2021 01:25:53 +0000 (21:25 -0400)
man/chorizo-config.5.scd
src/browser.c

index 5b178fcec56580901fa4a7288b9a0452f3396542..f658d9c8311ff1c5f27d5d6bd1c9cf0e54c6f8f2 100644 (file)
@@ -64,6 +64,11 @@ subsection.
        Choose a custom user agent.
 
 ## UI
+*scroll_lines*++
+       Type: integer++
+       Default: 3++
+       Number of lines to scroll in the "scroll_lines_\*" keybindings.
+
 *tab_width*++
        Type: integer++
        Default: 20++
index bb976e8102d0b048877748ab64956ca883cc26b1..926a3d552a4febd8d2ed6cb138d7f164b5912f44 100644 (file)
@@ -521,6 +521,9 @@ get_config(void)
                                                                                                                                                                                                                                NULL);
        cfg.spellcheck_language = (cfg.spellcheck_language) ? cfg.spellcheck_language
                : "en_US";
+       cfg.scroll_lines = g_key_file_get_integer(config, "ui", "scroll_lines",
+                                                                                                                                                                               NULL);
+       cfg.scroll_lines = (cfg.scroll_lines) ? cfg.scroll_lines : 3;
 }
 
 void
@@ -785,13 +788,16 @@ key_common(GtkWidget *widget, GdkEvent *event, gpointer data)
                                webkit_web_view_reload_bypass_cache(WEBKIT_WEB_VIEW(c->web_view));
                                return TRUE;
                        } else if (def_key("scroll_line_down", GDK_KEY_j) == key) {
-                               for (int i = 0; i < 2; i++) {
+                               for (int i = 0; i < cfg.scroll_lines - 1; i++) {
                                        event->key.keyval = GDK_KEY_Down;
                                        gdk_event_put(event);
                                }
                                return TRUE;
                        } else if (def_key("scroll_line_up", GDK_KEY_k) == key) {
-                               event->key.keyval = GDK_KEY_Up;
+                               for (int i = 0; i < cfg.scroll_lines - 1; i++) {
+                                       event->key.keyval = GDK_KEY_Up;
+                                       gdk_event_put(event);
+                               }
                                gdk_event_put(event);
                                return TRUE;
                        } else if (def_key("scroll_page_down", GDK_KEY_f) == key) {