diff options
author | Thomas Adam <thomas@xteddy.org> | 2014-05-13 21:58:48 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2014-05-13 21:58:48 +0100 |
commit | bae95844d75b257c61cd0ef57b1d826bdca09032 (patch) | |
tree | e2547df0ea03a6f686ac0cf7500bed3d00994ad2 /window-choose.c | |
parent | ea5a223a2e8901fa9afa991d147751d8a6789443 (diff) | |
parent | b3e8d440ed0477e88232c3ba1779c67eafce3a48 (diff) | |
download | rtmux-bae95844d75b257c61cd0ef57b1d826bdca09032.tar.gz rtmux-bae95844d75b257c61cd0ef57b1d826bdca09032.tar.bz2 rtmux-bae95844d75b257c61cd0ef57b1d826bdca09032.zip |
Merge branch 'obsd-master'
Conflicts:
format.c
window.c
Diffstat (limited to 'window-choose.c')
-rw-r--r-- | window-choose.c | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/window-choose.c b/window-choose.c index 86f37ed5..23e77b32 100644 --- a/window-choose.c +++ b/window-choose.c @@ -721,17 +721,22 @@ window_choose_mouse(struct window_pane *wp, struct session *sess, struct window_choose_mode_data *data = wp->modedata; struct screen *s = &data->screen; struct window_choose_mode_item *item; - u_int idx; + u_int idx, i, n; if (m->event == MOUSE_EVENT_WHEEL) { /* - * Don't use m->scroll and just move line-by-line or it's - * annoying. + * Multiple line scrolling by default is annoying, so scale + * m->scroll back down. */ - if (m->wheel == MOUSE_WHEEL_UP) - window_choose_key(wp, sess, KEYC_UP); - else - window_choose_key(wp, sess, KEYC_DOWN); + n = m->scroll; + if (n >= MOUSE_WHEEL_SCALE) + n /= MOUSE_WHEEL_SCALE; + for (i = 0; i < n; i++) { + if (m->wheel == MOUSE_WHEEL_UP) + window_choose_key(wp, sess, KEYC_UP); + else + window_choose_key(wp, sess, KEYC_DOWN); + } return; } |