]> git.eshelyaron.com Git - emacs.git/commitdiff
Correct initial scale calculation when pinching nonselected window
authorPo Lu <luangruo@yahoo.com>
Fri, 17 Nov 2023 03:36:58 +0000 (11:36 +0800)
committerPo Lu <luangruo@yahoo.com>
Fri, 17 Nov 2023 03:36:58 +0000 (11:36 +0800)
* lisp/touch-screen.el (touch-screen-pinch): Retrieve present
scale within the window pinched.
(touch-screen-handle-point-update): Expunge inefficacious code
meant to disregard events sent during gesture navigation.

lisp/touch-screen.el

index 3e1a994402d24e5ce569b11622920f3fc07332f1..5a04425d34319b207ac80697ce3b4b884ed7d089 100644 (file)
@@ -908,16 +908,17 @@ text scale by the ratio therein."
   (require 'face-remap)
   (let* ((posn (cadr event))
          (window (posn-window posn))
-         (current-scale (if text-scale-mode
-                            text-scale-mode-amount
-                          0))
-         (start-scale (or (aref touch-screen-aux-tool 7)
-                          (aset touch-screen-aux-tool 7
-                                current-scale)))
          (scale (nth 2 event))
-         (ratio-diff (nth 5 event)))
+         (ratio-diff (nth 5 event))
+         current-scale start-scale)
     (when (windowp window)
       (with-selected-window window
+        (setq current-scale (if text-scale-mode
+                                text-scale-mode-amount
+                              0)
+              start-scale (or (aref touch-screen-aux-tool 7)
+                              (aset touch-screen-aux-tool 7
+                                    current-scale)))
         ;; Set the text scale.
         (text-scale-set (+ start-scale
                            (round (log scale text-scale-mode-step))))
@@ -1057,25 +1058,12 @@ then move point to the position of POINT."
     (cond ((or (null what)
                (eq what 'ancillary-tool))
            (let* ((last-posn (nth 2 touch-screen-current-tool))
-                  (original-posn (nth 4 touch-screen-current-tool))
-                  (col (and (not (posn-area original-posn))
-                            (car (posn-col-row original-posn
-                                               (posn-window posn)))))
-                  ;; Don't start horizontal scrolling if the touch
-                  ;; point originated within two columns of the window
-                  ;; edges, as systems like Android use those two
-                  ;; columns to implement gesture navigation.
-                  (diff-x-eligible
-                   (and col (> col 2)
-                        (< col (- (window-width window) 2))))
                   (diff-x (- (car last-posn) (car relative-xy)))
                   (diff-y (- (cdr last-posn) (cdr relative-xy))))
              (when (or (> diff-y 10)
-                       (and diff-x-eligible
-                            (> diff-x (frame-char-width)))
+                       (> diff-x (frame-char-width))
                        (< diff-y -10)
-                       (and diff-x-eligible
-                            (< diff-x (- (frame-char-width)))))
+                       (< diff-x (- (frame-char-width))))
                (setcar (nthcdr 3 touch-screen-current-tool)
                        'scroll)
                (setcar (nthcdr 2 touch-screen-current-tool)