diff options
author | Miles Bader <miles@gnu.org> | 2000-10-25 11:38:29 +0000 |
---|---|---|
committer | Miles Bader <miles@gnu.org> | 2000-10-25 11:38:29 +0000 |
commit | 28cb252a3c54c6d375c9d1f02058dca19fe89ca3 (patch) | |
tree | 2c4b0536ae902c6784155b30207de476b97ba7f4 /lisp/mwheel.el | |
parent | aac59a6e02c1e6cfd87d83a062b2eed3c59dffaa (diff) | |
download | emacs-28cb252a3c54c6d375c9d1f02058dca19fe89ca3.tar.gz |
(mouse-wheel-mode): New global minor mode.
(mwheel-install): Use `mouse-wheel-mode'.
Diffstat (limited to 'lisp/mwheel.el')
-rw-r--r-- | lisp/mwheel.el | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/lisp/mwheel.el b/lisp/mwheel.el index d6b562b55e3..f7feab41250 100644 --- a/lisp/mwheel.el +++ b/lisp/mwheel.el @@ -94,9 +94,19 @@ This can be slightly disconcerting, but some people may prefer it." (t (error "Bad binding in mwheel-scroll")))) (if curwin (select-window curwin))))) + +;;; Note this definition must be at the end of the file, because +;;; `define-minor-mode' actually calls the mode-function if the +;;; associated variable is non-nil, which requires that all needed +;;; functions be already defined. [This is arguably a bug in d-m-m] ;;;###autoload -(defun mwheel-install () - "Enable mouse wheel support." +(define-minor-mode mouse-wheel-mode + "Toggle mouse wheel support. +With prefix argument ARG, turn on if positive, otherwise off. +Returns non-nil if the new state is enabled." + nil nil nil + :global t + :group 'mouse ;; In the latest versions of XEmacs, we could just use ;; (S-)*mouse-[45], since those are aliases for the button ;; equivalents in XEmacs, but I want this to work in as many @@ -111,11 +121,20 @@ This can be slightly disconcerting, but some people may prefer it." ;; that if the wheeled-mouse is there, it just works, and this way it ;; doesn't yell at me if I'm on my laptop or another machine, etc. (condition-case () - (while keys - (define-key global-map (car keys) 'mwheel-scroll) - (setq keys (cdr keys))) + (dolist (key keys) + (cond (mouse-wheel-mode + (define-key global-map key 'mwheel-scroll)) + ((eq (lookup-key global-map key) 'mwheel-scroll) + (define-key global-map key nil)))) (error nil)))) - + +;;; Compatibility entry point +;;;###autoload +(defun mwheel-install (&optional uninstall) + "Enable mouse wheel support." + (mouse-wheel-mode t)) + + (provide 'mwheel) ;;; mwheel.el ends here |