diff options
author | nicm <nicm> | 2015-11-19 22:46:46 +0000 |
---|---|---|
committer | nicm <nicm> | 2015-11-19 22:46:46 +0000 |
commit | 374e273df5f66e90e06f60617495446facfbd4f3 (patch) | |
tree | 6b264e4fe7cb65ff88271f966c980a65d872f22d /server-client.c | |
parent | 98967c5ec97feef99f8278df9c3b993bbff9c0d5 (diff) | |
download | rtmux-374e273df5f66e90e06f60617495446facfbd4f3.tar.gz rtmux-374e273df5f66e90e06f60617495446facfbd4f3.tar.bz2 rtmux-374e273df5f66e90e06f60617495446facfbd4f3.zip |
Only assume pasting with at least two characters, reduces problems for
people who can type ^B c very fast, or who are using tmux inside
something else that buffers.
Diffstat (limited to 'server-client.c')
-rw-r--r-- | server-client.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/server-client.c b/server-client.c index 04929dec..64426a70 100644 --- a/server-client.c +++ b/server-client.c @@ -494,8 +494,16 @@ server_client_assume_paste(struct session *s) return (0); timersub(&s->activity_time, &s->last_activity_time, &tv); - if (tv.tv_sec == 0 && tv.tv_usec < t * 1000) - return (1); + if (tv.tv_sec == 0 && tv.tv_usec < t * 1000) { + log_debug("session %s pasting (flag %d)", s->name, + !!(s->flags & SESSION_PASTING)); + if (s->flags & SESSION_PASTING) + return (1); + s->flags |= SESSION_PASTING; + return (0); + } + log_debug("session %s not pasting", s->name); + s->flags &= ~SESSION_PASTING; return (0); } |