summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRodrigo Arias Mallo <rodarima@gmail.com>2024-10-13 14:22:14 +0200
committerRodrigo Arias Mallo <rodarima@gmail.com>2024-10-13 16:18:41 +0200
commitf73a9c1a1967318a33cc91f588552574dc7c3f01 (patch)
tree17725a28fd5719e052a74c27f722de545d0310a4 /src
parent667f7fd713bc2d4f9196bc71e2b8ac8b2ca210f1 (diff)
Control the page overlap independently
Introduces the new option scroll_page_overlap to control the amount of pixels of overlap when scrolling to the next or previous page. Previously this value was taken from scroll_step, but now they are controlled independently. Fixes: https://github.com/dillo-browser/dillo/issues/276
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 36415647..884e00d0 100644
--- a/src/prefs.c
+++ b/src/prefs.c
@@ -88,6 +88,7 @@ void a_Prefs_init(void)
prefs.parse_embedded_css=TRUE;
prefs.save_dir = dStrdup(PREFS_SAVE_DIR);
prefs.scroll_step = 100;
+ prefs.scroll_page_overlap = 50;
prefs.search_urls = dList_new(16);
dList_append(prefs.search_urls, dStrdup(PREFS_SEARCH_URL));
prefs.search_url_idx = 0;
diff --git a/src/prefs.h b/src/prefs.h
index 6f8f4fdb..5f8f393d 100644
--- a/src/prefs.h
+++ b/src/prefs.h
@@ -77,6 +77,7 @@ typedef struct {
int32_t font_max_size;
int32_t font_min_size;
int32_t scroll_step;
+ int32_t scroll_page_overlap;
bool_t scrollbar_on_left;
bool_t scrollbar_page_mode;
bool_t show_back;
diff --git a/src/prefsparser.cc b/src/prefsparser.cc
index 864a6736..482e79ab 100644
--- a/src/prefsparser.cc
+++ b/src/prefsparser.cc
@@ -200,6 +200,7 @@ void PrefsParser::parse(FILE *fp)
{ "parse_embedded_css", &prefs.parse_embedded_css, PREFS_BOOL, 0 },
{ "save_dir", &prefs.save_dir, PREFS_STRING, 0 },
{ "scroll_step", &prefs.scroll_step, PREFS_INT32, 0 },
+ { "scroll_page_overlap", &prefs.scroll_page_overlap, 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 },
diff --git a/src/uicmd.cc b/src/uicmd.cc
index ad6e67c1..5cd0d887 100644
--- a/src/uicmd.cc
+++ b/src/uicmd.cc
@@ -633,6 +633,7 @@ static BrowserWindow *UIcmd_tab_new(CustTabs *tabs, UI *old_ui, int focus)
layout->attachView (viewport);
new_ui->set_render_layout(viewport);
viewport->setScrollStep(prefs.scroll_step);
+ viewport->setPageOverlap(prefs.scroll_page_overlap);
// Now, create a new browser window structure
BrowserWindow *new_bw = a_Bw_new();