aboutsummaryrefslogtreecommitdiff
path: root/server-client.c
diff options
context:
space:
mode:
authornicm <nicm>2015-11-19 22:46:46 +0000
committernicm <nicm>2015-11-19 22:46:46 +0000
commit374e273df5f66e90e06f60617495446facfbd4f3 (patch)
tree6b264e4fe7cb65ff88271f966c980a65d872f22d /server-client.c
parent98967c5ec97feef99f8278df9c3b993bbff9c0d5 (diff)
downloadrtmux-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.c12
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);
}