Homepage: https://www.emacswiki.org/emacs/download/mouse%2b.el
Author: Drew Adams
Updated:
Extensions to `mouse.el'
Extensions to `mouse.el'. Command `mouse-flash-position' highlights the character after the mouse pointer position, even as you drag it. This can help make it clearer exactly where a `yank' will occur when you use `mouse-2'. When you press `mouse-2', if the highlighted position is not exactly what you want, just keep `mouse-2' held while you move to the right location. To enable this behavior, bind `mouse-flash-position' to `down-mouse-2'. Command `mouse-flash-position-or-M-x' is the same thing as `mouse-flash-position', except that it has a special behavior in the echo area (that is, the minibuffer space when the minibuffer is inactive). In the echo area, it calls `M-x'. To enable this behavior, bind `mouse-flash-position-or-M-x' to `down-mouse-2'. Command `mouse-scan-lines' tracks the mouse position, highlighting the line at that position. It is handy in buffers like Dired that are essentially tables with columns - it helps you to align entries that are in the same row. Command `mouse-scan-lines-or-M-:' is the same thing as `mouse-scan-lines', except that it has a special behavior in the echo area. In the echo area, it calls `M-:'. To enable this behavior, bind `mouse-scan-lines-or-M-:' to `S-down-mouse-2'. See also library `second-sel.el' for enhancements to `mouse-drag-secondary' and `mouse-secondary-save-then-kill' that use a separate ring, `secondary-selection-ring', instead of the `kill-ring'. Faces defined here: `mouse-flash-position', `mouse-scan-lines'. Commands defined here: `mouse-flash-position', `mouse-flash-position-or-M-x', `mouse-M-:', `mouse-scan-lines', `mouse-scan-lines-or-M-:', `tear-off-window-if-not-alone'. Non-interactive functions defined here: `mouse-flash-posn-track', `mouse-move-flash-posn-overlay'. Constants defined here: `mouse-flash-posn-overlay', `mouse-scan-lines-overlay'. ***** NOTE: The following functions defined in `mouse.el' have been REDEFINED HERE: `mouse-drag-region' - If click echo area and `*Messages*' is displayed, do `M-x', delete `*Messages*' `(mouse-)tear-off-window' - Don't delete window if it is alone in frame. Instead, clone frame and window. `mouse-yank-secondary' - Error if (x-get-selection 'SECONDARY)=nil Do this in your init file (~/.emacs or ~/_emacs): (require 'mouse+) Suggested bindings: The first sexp is NECESSARY for Emacs 24 or later, if you want to take advantage of the `mouse-drag-region' behavior defined here wrt buffer `*Messages*' and `M-x'. ;; Do not use `view-echo-area-messages' for `mouse-1'. Use ;; version of `mouse-drag-region' defined here, which does more. (when (> emacs-major-version 23) (define-key minibuffer-inactive-mode-map [down-mouse-1] nil) (define-key minibuffer-inactive-mode-map [mouse-1] nil)) (global-set-key [down-mouse-2] 'mouse-flash-position-or-M-x) (global-set-key [S-down-mouse-2] 'mouse-scan-lines-or-M-:) (global-set-key [mode-line C-mouse-1] 'tear-off-window) (define-key ctl-x-5-map "1" 'tear-off-window)