From bf23d2bc2d95b6bf54b21daa191f375b91985d3b Mon Sep 17 00:00:00 2001 From: "Michael D. Lowis" Date: Tue, 28 Feb 2017 09:10:38 -0500 Subject: [PATCH] tweaked algorithm for middle click jumping through a document. still not quite right but i'll revisit it later --- lib/win.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/win.c b/lib/win.c index 5e64d0b..7d0b226 100644 --- a/lib/win.c +++ b/lib/win.c @@ -227,10 +227,9 @@ static void onclick(MouseAct act, MouseBtn btn, int x, int y) { view_scroll(win_view(EDIT), -row); break; case MOUSE_BTN_MIDDLE: { - size_t percent = ((y - (Regions[SCROLL].y-2)) * 100) / Regions[SCROLL].height; - size_t off = buf_bol(win_buf(EDIT), buf_end(win_buf(EDIT)) * percent / 100); - size_t csrx, csry; - win_view(EDIT)->rows[0]->off = off; + size_t bend = buf_end(win_buf(EDIT)); + size_t csrx, csry, chunksz = (bend > 0 ? bend : 1) / Regions[SCROLL].height; + win_view(EDIT)->rows[0]->off = buf_bol(win_buf(EDIT), (y - Regions[SCROLL].y) * chunksz); view_update(win_view(EDIT), &csrx, &csry); } break; -- 2.51.0