diff options
Diffstat (limited to 'lisp/scroll-bar.el')
-rw-r--r-- | lisp/scroll-bar.el | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lisp/scroll-bar.el b/lisp/scroll-bar.el index 4499c0b0b5f..aea8c8e72f5 100644 --- a/lisp/scroll-bar.el +++ b/lisp/scroll-bar.el @@ -316,6 +316,13 @@ EVENT should be a scroll bar click." (scroll-up '-)) ((eq part 'below-handle) (scroll-up nil)) + ((eq part 'ratio) + (let* ((portion-whole (nth 2 end-position)) + (lines (scroll-bar-scale portion-whole + (1- (window-height))))) + (scroll-up (cond ((not (zerop lines)) lines) + ((< (car portion-whole) 0) -1) + (t 1))))) ((eq part 'up) (scroll-up -1)) ((eq part 'down) @@ -330,7 +337,7 @@ EVENT should be a scroll bar click." (sit-for 0) (unless scroll-bar-timer (setq scroll-bar-timer - (run-with-timer 0.1 0.1 'xt-process-timeouts))) + (run-with-timer 0.1 0.1 'xt-process-timeouts))) (with-current-buffer (window-buffer window) (setq point-before-scroll before-scroll)))))) |