From 1f7e5f5c258c3d66e1704ee48a11c79c65f8354b Mon Sep 17 00:00:00 2001 From: Rodrigo Arias Mallo Date: Sat, 12 Oct 2024 21:39:14 +0200 Subject: Add new scrollbar page mode The scroll page mode changes the behavior of the mouse when clicking on the vertical scrollbar. When enabled with scrollbar_page_mode=YES, clicking with the left button anywhere on the vertical scrollbar will cause the page to scroll down one page. With the right button, to scroll up one page. Holding Shift temporarily reverts the value of the option. --- src/prefs.c | 1 + src/prefs.h | 1 + src/prefsparser.cc | 1 + src/uicmd.cc | 1 + 4 files changed, 4 insertions(+) (limited to 'src') diff --git a/src/prefs.c b/src/prefs.c index 29b4f349..36415647 100644 --- a/src/prefs.c +++ b/src/prefs.c @@ -92,6 +92,7 @@ void a_Prefs_init(void) dList_append(prefs.search_urls, dStrdup(PREFS_SEARCH_URL)); prefs.search_url_idx = 0; prefs.scrollbar_on_left = FALSE; + prefs.scrollbar_page_mode = FALSE; prefs.show_back = TRUE; prefs.show_bookmarks = TRUE; prefs.show_clear_url = TRUE; diff --git a/src/prefs.h b/src/prefs.h index f51d0a4c..6f8f4fdb 100644 --- a/src/prefs.h +++ b/src/prefs.h @@ -78,6 +78,7 @@ typedef struct { int32_t font_min_size; int32_t scroll_step; bool_t scrollbar_on_left; + bool_t scrollbar_page_mode; bool_t show_back; bool_t show_forw; bool_t show_home; diff --git a/src/prefsparser.cc b/src/prefsparser.cc index 3669b8d4..864a6736 100644 --- a/src/prefsparser.cc +++ b/src/prefsparser.cc @@ -201,6 +201,7 @@ void PrefsParser::parse(FILE *fp) { "save_dir", &prefs.save_dir, PREFS_STRING, 0 }, { "scroll_step", &prefs.scroll_step, PREFS_INT32, 0 }, { "scrollbar_on_left", &prefs.scrollbar_on_left, PREFS_BOOL, 0 }, + { "scrollbar_page_mode", &prefs.scrollbar_page_mode, PREFS_BOOL, 0 }, { "search_url", &prefs.search_urls, PREFS_STRINGS, 0 }, { "show_back", &prefs.show_back, PREFS_BOOL, 0 }, { "show_bookmarks", &prefs.show_bookmarks, PREFS_BOOL, 0 }, diff --git a/src/uicmd.cc b/src/uicmd.cc index 07593892..ad6e67c1 100644 --- a/src/uicmd.cc +++ b/src/uicmd.cc @@ -629,6 +629,7 @@ static BrowserWindow *UIcmd_tab_new(CustTabs *tabs, UI *old_ui, int focus) viewport->setBufferedDrawing (prefs.buffered_drawing ? true : false); viewport->setDragScroll (prefs.middle_click_drags_page ? true : false); viewport->setScrollbarOnLeft (prefs.scrollbar_on_left ? true : false); + viewport->setScrollbarPageMode (prefs.scrollbar_page_mode ? true : false); layout->attachView (viewport); new_ui->set_render_layout(viewport); viewport->setScrollStep(prefs.scroll_step); -- cgit v1.2.3