diff --git a/window.c b/window.c index fad5c67ae..db968c026 100644 --- a/window.c +++ b/window.c @@ -1612,6 +1612,12 @@ window_pane_key(struct window_pane *wp, struct client *c, struct session *s, wme = TAILQ_FIRST(&wp->modes); if (wme != NULL) { + /* + * No mode uses mouse motion events, so drop them here rather + * than passing them on and causing a redraw on every movement. + */ + if (KEYC_IS_TYPE(key, KEYC_TYPE_MOUSEMOVE)) + return (0); if (wme->mode->key != NULL && c != NULL) { key &= ~KEYC_MASK_FLAGS; wme->mode->key(wme, c, s, wl, key, m);