From fc8b87d904f63a73c3bb4db69341f0308b2bc8fa Mon Sep 17 00:00:00 2001 From: Po Lu Date: Fri, 26 Nov 2021 13:07:54 +0800 Subject: [PATCH] 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. --- lisp/better-pixel-scroll.el | 15 ++++++++------- 1 file 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 -- 2.39.5