emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/mwheel.el


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/lisp/mwheel.el
Date: Mon, 24 Jun 2002 19:59:22 -0400

Index: emacs/lisp/mwheel.el
diff -c emacs/lisp/mwheel.el:1.15 emacs/lisp/mwheel.el:1.16
*** emacs/lisp/mwheel.el:1.15   Mon Jun 24 11:50:38 2002
--- emacs/lisp/mwheel.el        Mon Jun 24 19:59:22 2002
***************
*** 65,87 ****
  
  (defcustom mouse-wheel-scroll-amount '(5 ((shift) . 1) ((control) . nil))
    "Amount to scroll windows by when spinning the mouse wheel.
! This is actually a cons cell, where the first item is the amount to scroll
! on a normal wheel event, and the rest is an alist mapping the modifier key
! to the amount to scroll when the wheel is moved with the modifier key 
depressed.
! 
! Each item should be the number of lines to scroll, or `nil' for near
! full screen.  It can also be a floating point number, specifying
! the fraction of the window to scroll.
! A near full screen is `next-screen-context-lines' less than a full screen."
    :group 'mouse
    :type '(cons
          (choice :tag "Normal"
                  (const :tag "Full screen" :value nil)
                  (integer :tag "Specific # of lines")
!                 (float :tag "Fraction of window"))
            (repeat
             (cons
!             (repeat (choice :tag "modifier" (const alt) (const control) 
(const hyper)
                              (const meta) (const shift) (const super)))
              (choice :tag "scroll amount"
                      (const :tag "Full screen" :value nil)
--- 65,97 ----
  
  (defcustom mouse-wheel-scroll-amount '(5 ((shift) . 1) ((control) . nil))
    "Amount to scroll windows by when spinning the mouse wheel.
! This is an alist mapping the modifier key to the amount to scroll when
! the wheel is moved with the modifier key depressed.
! Elements of the list have the form (MODIFIERS . AMOUNT) or just AMOUNT if
! MODIFIERS is nil.
! 
! AMOUNT should be the number of lines to scroll, or `nil' for near full
! screen.  It can also be a floating point number, specifying the fraction of
! a full screen to scroll.  A near full screen is `next-screen-context-lines'
! less than a full screen."
    :group 'mouse
    :type '(cons
          (choice :tag "Normal"
                  (const :tag "Full screen" :value nil)
                  (integer :tag "Specific # of lines")
!                 (float :tag "Fraction of window")
!                 (cons
!                  (repeat (choice :tag "modifier"
!                                  (const alt) (const control) (const hyper)
!                                  (const meta) (const shift) (const super)))
!                  (choice :tag "scroll amount"
!                          (const :tag "Full screen" :value nil)
!                          (integer :tag "Specific # of lines")
!                          (float :tag "Fraction of window"))))
            (repeat
             (cons
!             (repeat (choice :tag "modifier"
!                           (const alt) (const control) (const hyper)
                              (const meta) (const shift) (const super)))
              (choice :tag "scroll amount"
                      (const :tag "Full screen" :value nil)
***************
*** 91,103 ****
  (defcustom mouse-wheel-progessive-speed t
    "If non-nil, the faster the user moves the wheel, the faster the scrolling.
  Note that this has no effect when `mouse-wheel-scroll-amount' specifies
! a \"near full screen\" scroll."
    :group 'mouse
    :type 'boolean)
  
  (defcustom mouse-wheel-follow-mouse nil
    "Whether the mouse wheel should scroll the window that the mouse is over.
! This can be slightly disconcerting, but some people may prefer it."
    :group 'mouse
    :type 'boolean)
  
--- 101,114 ----
  (defcustom mouse-wheel-progessive-speed t
    "If non-nil, the faster the user moves the wheel, the faster the scrolling.
  Note that this has no effect when `mouse-wheel-scroll-amount' specifies
! a \"near full screen\" scroll or when the mouse wheel sends key instead
! of button events."
    :group 'mouse
    :type 'boolean)
  
  (defcustom mouse-wheel-follow-mouse nil
    "Whether the mouse wheel should scroll the window that the mouse is over.
! This can be slightly disconcerting, but some people prefer it."
    :group 'mouse
    :type 'boolean)
  
***************
*** 130,139 ****
                         (select-window (mwheel-event-window event)))))
           (mods
          (delq 'click (delq 'double (delq 'triple (event-modifiers event)))))
!          (amt
!         (if mods
!             (cdr (assoc mods (cdr mouse-wheel-scroll-amount)))
!           (car mouse-wheel-scroll-amount))))
      (if (floatp amt) (setq amt (1+ (truncate (* amt (window-height))))))
      (when (and mouse-wheel-progessive-speed (numberp amt))
        ;; When the double-mouse-N comes in, a mouse-N has been executed 
already,
--- 141,151 ----
                         (select-window (mwheel-event-window event)))))
           (mods
          (delq 'click (delq 'double (delq 'triple (event-modifiers event)))))
!          (amt (assoc mods mouse-wheel-scroll-amount)))
!     ;; Extract the actual amount or find the element that has no modifiers.
!     (if amt (setq amt (cdr amt))
!       (let ((list-elt mouse-wheel-scroll-amount))
!       (while (consp (setq amt (pop list-elt))))))
      (if (floatp amt) (setq amt (1+ (truncate (* amt (window-height))))))
      (when (and mouse-wheel-progessive-speed (numberp amt))
        ;; When the double-mouse-N comes in, a mouse-N has been executed 
already,
***************
*** 162,172 ****
           (dn (intern (format prefix mouse-wheel-down-button)))
           (up (intern (format prefix mouse-wheel-up-button)))
           (keys
!           (nconc (list (vector dn) (vector up))
!                  (mapcar (lambda (amt) `[(,@(car amt) ,up)])
!                          (cdr mouse-wheel-scroll-amount))
!                  (mapcar (lambda (amt) `[(,@(car amt) ,dn)])
!                          (cdr mouse-wheel-scroll-amount)))))
      ;; This condition-case is here because Emacs 19 will throw an error
      ;; if you try to define a key that it does not know about.  I for one
      ;; prefer to just unconditionally do a mwheel-install in my .emacs, so
--- 174,183 ----
           (dn (intern (format prefix mouse-wheel-down-button)))
           (up (intern (format prefix mouse-wheel-up-button)))
           (keys
!           (nconc (mapcar (lambda (amt) `[(,@(if (consp amt) (car amt)) ,up)])
!                        mouse-wheel-scroll-amount)
!                  (mapcar (lambda (amt) `[(,@(if (consp amt) (car amt)) ,dn)])
!                        mouse-wheel-scroll-amount))))
      ;; This condition-case is here because Emacs 19 will throw an error
      ;; if you try to define a key that it does not know about.  I for one
      ;; prefer to just unconditionally do a mwheel-install in my .emacs, so



reply via email to

[Prev in Thread] Current Thread [Next in Thread]