From d294c01f599fb45accd879fabc0d23a6daa4acef Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 19 Nov 1999 20:18:47 +0000 Subject: [PATCH] (scroll-bar-toolkit-scroll): add handling of the `ratio' event for Xaw and Xaw3d(without arrows) scrollbars. --- lisp/ChangeLog | 3 +++ lisp/scroll-bar.el | 9 ++++++++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 8079b444a7a..f98b3712c25 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 1999-11-19 Stefan Monnier + * scroll-bar.el (scroll-bar-toolkit-scroll): add handling of the `ratio' + event for Xaw and Xaw3d(without arrows) scrollbars. + * files.el (auto-mode-alist): add patterns for diff-mode. * complete.el (PC-do-complete-and-exit): use minibuffer-prompt-end to 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)))))) -- 2.39.5