summaryrefslogtreecommitdiff
path: root/lisp/better-pixel-scroll.el
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2021-11-26 13:07:54 +0800
committerPo Lu <luangruo@yahoo.com>2021-11-26 13:07:54 +0800
commitfc8b87d904f63a73c3bb4db69341f0308b2bc8fa (patch)
treed3ab07ccae123afe13afe2996eb739013aa2edb5 /lisp/better-pixel-scroll.el
parentdb3fbe884fb992376a6e00f2a051e5de9579df85 (diff)
downloademacs-fc8b87d904f63a73c3bb4db69341f0308b2bc8fa.tar.gz
emacs-fc8b87d904f63a73c3bb4db69341f0308b2bc8fa.tar.bz2
emacs-fc8b87d904f63a73c3bb4db69341f0308b2bc8fa.zip
Don't perform pixel scrolling when window is hscrolled
* lisp/better-pixel-scroll.el (better-pixel-scroll): Call mwheel-scroll instead if window is hscrolled.
Diffstat (limited to 'lisp/better-pixel-scroll.el')
-rw-r--r--lisp/better-pixel-scroll.el15
1 files changed, 8 insertions, 7 deletions
diff --git a/lisp/better-pixel-scroll.el b/lisp/better-pixel-scroll.el
index ac342a425a2..6101778ac0a 100644
--- a/lisp/better-pixel-scroll.el
+++ b/lisp/better-pixel-scroll.el
@@ -118,16 +118,17 @@ according to the user's turning the mouse wheel. If EVENT does
not have precise scrolling deltas, call `mwheel-scroll' instead.
ARG is passed to `mwheel-scroll', should that be called."
(interactive (list last-input-event current-prefix-arg))
- (if (nth 4 event)
- (let ((delta (round (cdr (nth 4 event))))
- (window (mwheel-event-window event)))
- (if (> (abs delta) (window-text-height window t))
- (mwheel-scroll event arg)
- (with-selected-window window
+ (let ((window (mwheel-event-window event)))
+ (if (and (nth 4 event)
+ (zerop (window-hscroll window)))
+ (let ((delta (round (cdr (nth 4 event)))))
+ (if (> (abs delta) (window-text-height window t))
+ (mwheel-scroll event arg)
+ (with-selected-window window
(if (< delta 0)
(better-pixel-scroll-scroll-down (- delta))
(better-pixel-scroll-scroll-up delta)))))
- (mwheel-scroll event arg)))
+ (mwheel-scroll event arg))))
;;;###autoload
(define-minor-mode better-pixel-scroll-mode