summaryrefslogtreecommitdiffstats
path: root/cmd-detach-client.c
diff options
context:
space:
mode:
authornicm <nicm>2013-10-10 12:28:08 +0000
committernicm <nicm>2013-10-10 12:28:08 +0000
commit7936ce38749a4751120c856a112ee85122df612c (patch)
tree4d7fcda69120a584a3723b91df1de09ffa30a79f /cmd-detach-client.c
parentb8b85fbb0c6cf4e9a3fa650ec7dc5036a1b0b01a (diff)
Show session name in detached message. Requested by somebody a few
months ago who didn't bother testing it. But it works for me anyway.
Diffstat (limited to 'cmd-detach-client.c')
-rw-r--r--cmd-detach-client.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/cmd-detach-client.c b/cmd-detach-client.c
index fc80499c..82001bee 100644
--- a/cmd-detach-client.c
+++ b/cmd-detach-client.c
@@ -18,6 +18,8 @@
#include <sys/types.h>
+#include <string.h>
+
#include "tmux.h"
/*
@@ -40,8 +42,8 @@ cmd_detach_client_exec(struct cmd *self, struct cmd_q *cmdq)
{
struct args *args = self->args;
struct client *c, *c2;
- struct session *s;
- enum msgtype msgtype;
+ struct session *s;
+ enum msgtype msgtype;
u_int i;
if (args_has(args, 'P'))
@@ -56,8 +58,10 @@ cmd_detach_client_exec(struct cmd *self, struct cmd_q *cmdq)
for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
c = ARRAY_ITEM(&clients, i);
- if (c != NULL && c->session == s)
- server_write_client(c, msgtype, NULL, 0);
+ if (c == NULL || c->session != s)
+ continue;
+ server_write_client(c, msgtype, c->session->name,
+ strlen(c->session->name) + 1);
}
} else {
c = cmd_find_client(cmdq, args_get(args, 't'), 0);
@@ -69,10 +73,14 @@ cmd_detach_client_exec(struct cmd *self, struct cmd_q *cmdq)
c2 = ARRAY_ITEM(&clients, i);
if (c2 == NULL || c == c2)
continue;
- server_write_client(c2, msgtype, NULL, 0);
+ server_write_client(c2, msgtype,
+ c2->session->name,
+ strlen(c2->session->name) + 1);
}
- } else
- server_write_client(c, msgtype, NULL, 0);
+ } else {
+ server_write_client(c, msgtype, c->session->name,
+ strlen(c->session->name) + 1);
+ }
}
return (CMD_RETURN_STOP);