]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve mouse dragging
authorPo Lu <luangruo@yahoo.com>
Thu, 12 May 2022 05:31:08 +0000 (13:31 +0800)
committerPo Lu <luangruo@yahoo.com>
Thu, 12 May 2022 06:56:32 +0000 (14:56 +0800)
* lisp/mouse.el (mouse-drag-and-drop-region-display-tooltip):
Respect foreground and background parameters.
(mouse-drag-and-drop-region): Enable fine grained tracking.

lisp/mouse.el

index 0446bc6dd87a9a6276f3dd09fe59261807ea7466..4b5f6ed223c07e813b47f9ef6fb9e37d0392a998 100644 (file)
@@ -3017,7 +3017,15 @@ highlight the original region when
   "Display TOOLTIP, a tooltip string, using `x-show-tip'.
 Call `tooltip-show-help-non-mode' instead on non-graphical displays."
   (if (display-graphic-p)
-      (x-show-tip tooltip)
+      (let ((params (copy-sequence tooltip-frame-parameters))
+           (fg (face-attribute 'tooltip :foreground))
+           (bg (face-attribute 'tooltip :background)))
+       (when (stringp fg)
+         (setf (alist-get 'foreground-color params) fg)
+         (setf (alist-get 'border-color params) fg))
+       (when (stringp bg)
+         (setf (alist-get 'background-color params) bg))
+        (x-show-tip tooltip nil params))
     (tooltip-show-help-non-mode tooltip)))
 
 (declare-function x-hide-tip "xfns.c")
@@ -3059,6 +3067,7 @@ is copied instead of being cut."
                                                                (cdr bounds)))
                                                (region-bounds)))
          (region-noncontiguous (region-noncontiguous-p))
+         (mouse-fine-grained-tracking t)
          ;; Whether or not some text was ``cut'' from Emacs to another
          ;; program and the cleaanup code should not try modifying the
          ;; region.