X-Git-Url: https://code.delx.au/gnu-emacs/blobdiff_plain/35cf62d95cdcd5323dcea4a5385942c342ff1d9c..5811404f0b86c9fa92c3e0b22505a9bb05f04145:/lisp/mouse-drag.el diff --git a/lisp/mouse-drag.el b/lisp/mouse-drag.el index 17591ef12d..e46ea00d7e 100644 --- a/lisp/mouse-drag.el +++ b/lisp/mouse-drag.el @@ -1,6 +1,6 @@ ;;; mouse-drag.el --- use mouse-2 to do a new style of scrolling -;; Copyright (C) 1996-1997, 2001-2012 Free Software Foundation, Inc. +;; Copyright (C) 1996-1997, 2001-2016 Free Software Foundation, Inc. ;; Author: John Heidemann ;; Keywords: mouse @@ -46,7 +46,7 @@ ;; If you like mouse-drag, you should also check out mouse-copy ;; for ``one-click text copy and move''. ;; -;; To use mouse-drag, place the following in your .emacs file: +;; To use mouse-drag, place the following in your init file: ;; -either- ;; (global-set-key [down-mouse-2] 'mouse-drag-throw) ;; -or- @@ -156,7 +156,7 @@ Keep the cursor on the screen as needed." "Determine if it's wise to enable col-scrolling for the current window. Basically, we check for existing horizontal scrolling." (or truncate-lines - (> (window-hscroll (selected-window)) 0) + (> (window-hscroll) 0) (not (window-full-width-p)) (and mouse-drag-electric-col-scrolling @@ -169,7 +169,7 @@ Basically, we check for existing horizontal scrolling." nil)))))) (defvar mouse-throw-with-scroll-bar nil - "*Set direction of mouse-throwing. + "Set direction of mouse-throwing. If nil, the text moves in the direction the mouse moves. If t, the scroll bar moves in the direction the mouse moves.") (defconst mouse-throw-magnifier-min -6) @@ -206,7 +206,7 @@ about which direction is natural. Perhaps it has to do with which hemisphere you're in.) To test this function, evaluate: - (global-set-key [down-mouse-2] 'mouse-drag-throw)" + (global-set-key [down-mouse-2] \\='mouse-drag-throw)" (interactive "e") ;; we want to do save-selected-window, but that requires 19.29 (let* ((start-posn (event-start start-event)) @@ -222,6 +222,8 @@ To test this function, evaluate: (col-scrolling-p (mouse-drag-should-do-col-scrolling))) (select-window start-window) (track-mouse + ;; Don't change the mouse pointer shape while we drag. + (setq track-mouse 'dragging) (while (progn (setq event (read-event) end (event-end event) @@ -264,7 +266,7 @@ Drag scrolling is identical to the \"hand\" option in MacPaint, or the middle button in Tk text widgets. To test this function, evaluate: - (global-set-key [down-mouse-2] 'mouse-drag-drag)" + (global-set-key [down-mouse-2] \\='mouse-drag-drag)" (interactive "e") ;; we want to do save-selected-window, but that requires 19.29 (let* ((start-posn (event-start start-event)) @@ -291,7 +293,7 @@ To test this function, evaluate: (or (mouse-movement-p event) (eq (car-safe event) 'switch-frame))) ;; Scroll if see if we're on the edge. - ;; NEEDSWORK: should handle mouse-in-other window. + ;; FIXME: should handle mouse-in-other window. (cond ((not (eq start-window (posn-window end))) t) ; wait for return to original window