summaryrefslogtreecommitdiff
path: root/src/dged
diff options
context:
space:
mode:
authorAlbert Cervin <albert@acervin.com>2025-11-01 23:03:01 +0100
committerAlbert Cervin <albert@acervin.com>2025-11-01 23:03:01 +0100
commit1ee3b764d7cdd31570e53e446c963725f3a2f962 (patch)
tree1706f1f0fb7828de2238456ca029c9338b2585d1 /src/dged
parent25bac4d2703a0c529b7b97cf86eb07b6264e1242 (diff)
downloaddged-1ee3b764d7cdd31570e53e446c963725f3a2f962.tar.gz
dged-1ee3b764d7cdd31570e53e446c963725f3a2f962.tar.xz
dged-1ee3b764d7cdd31570e53e446c963725f3a2f962.zip
Improve scrolling
Scrolling vertically now keeps two lines of context and overflowing vertically places dot in middle of screen.
Diffstat (limited to 'src/dged')
-rw-r--r--src/dged/buffer_view.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/dged/buffer_view.c b/src/dged/buffer_view.c
index 9d998fe..9129147 100644
--- a/src/dged/buffer_view.c
+++ b/src/dged/buffer_view.c
@@ -475,8 +475,9 @@ bool buffer_view_update(struct buffer_view *view,
if (view->dot.col >= view->scroll.col + width ||
view->dot.col < view->scroll.col) {
- view->scroll.col =
- buffer_clamp(view->buffer, view->dot.line, view->dot.col).col;
+ view->scroll.col = buffer_clamp(view->buffer, view->dot.line,
+ (int64_t)view->dot.col - params->width / 2)
+ .col;
}
timer_stop(render_linenumbers_timer);