summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRodrigo Arias Mallo <rodarima@gmail.com>2024-10-12 21:39:14 +0200
committerRodrigo Arias Mallo <rodarima@gmail.com>2024-10-13 13:59:01 +0200
commit1f7e5f5c258c3d66e1704ee48a11c79c65f8354b (patch)
tree366023d896055972c5bb981057083b7fc6823b37 /src
parent7bade294672a638bcd1b0451333be5bb948cbbf7 (diff)
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.
Diffstat (limited to 'src')
-rw-r--r--src/prefs.c1
-rw-r--r--src/prefs.h1
-rw-r--r--src/prefsparser.cc1
-rw-r--r--src/uicmd.cc1
4 files changed, 4 insertions, 0 deletions
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);