aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPo Lu2021-11-30 13:41:16 +0800
committerPo Lu2021-11-30 13:41:16 +0800
commitf3bb2b80b4a347974de3e9da1feb18181ed20cc0 (patch)
treee582ad9ee832985b35c5a714bcf40b6bb860aa67 /src
parenta59deef359c5ffa49ea2adb78250f4d4adf94447 (diff)
downloademacs-f3bb2b80b4a347974de3e9da1feb18181ed20cc0.tar.gz
emacs-f3bb2b80b4a347974de3e9da1feb18181ed20cc0.zip
Add `ns-scroll-event-delta-factor'
* src/nsterm.m (- mouseDown): Take delta factor into account. (Vns_scroll_event_delta_factor): New variable. * lisp/cus-start.el: Add option.
Diffstat (limited to 'src')
-rw-r--r--src/nsterm.m12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/nsterm.m b/src/nsterm.m
index 78bbae69a27..f5c2d4d9fbc 100644
--- a/src/nsterm.m
+++ b/src/nsterm.m
@@ -6665,6 +6665,12 @@ not_in_argv (NSString *arg)
6665 if (lines == 0 && x_coalesce_scroll_events) 6665 if (lines == 0 && x_coalesce_scroll_events)
6666 return; 6666 return;
6667 6667
6668 if (NUMBERP (Vns_scroll_event_delta_factor))
6669 {
6670 x *= XFLOATINT (Vns_scroll_event_delta_factor);
6671 y *= XFLOATINT (Vns_scroll_event_delta_factor);
6672 }
6673
6668 emacs_event->kind = horizontal ? HORIZ_WHEEL_EVENT : WHEEL_EVENT; 6674 emacs_event->kind = horizontal ? HORIZ_WHEEL_EVENT : WHEEL_EVENT;
6669 emacs_event->arg = list3 (make_fixnum (lines), 6675 emacs_event->arg = list3 (make_fixnum (lines),
6670 make_float (x), 6676 make_float (x),
@@ -10037,6 +10043,12 @@ This variable is ignored on macOS < 10.7 and GNUstep. Default is t. */);
10037 10043
10038 DEFSYM (Qx_underline_at_descent_line, "x-underline-at-descent-line"); 10044 DEFSYM (Qx_underline_at_descent_line, "x-underline-at-descent-line");
10039 10045
10046 DEFVAR_LISP ("ns-scroll-event-delta-factor", Vns_scroll_event_delta_factor,
10047 doc: /* A delta to apply to pixel deltas reported in scroll events.
10048 This is only effective for pixel deltas generated from touch pads or
10049 mice with smooth scrolling capability. */);
10050 Vns_scroll_event_delta_factor = make_float (1.0);
10051
10040 /* Tell Emacs about this window system. */ 10052 /* Tell Emacs about this window system. */
10041 Fprovide (Qns, Qnil); 10053 Fprovide (Qns, Qnil);
10042 10054