Sync OpenBSD patchset 1133:

Add -a flag for detach-client, from Thomas Adam.
pull/1/head
Tiago Cunha 2012-06-18 15:11:35 +00:00
parent 576f2694b1
commit 4a634a7da4
2 changed files with 17 additions and 4 deletions

View File

@ -28,8 +28,8 @@ int cmd_detach_client_exec(struct cmd *, struct cmd_ctx *);
const struct cmd_entry cmd_detach_client_entry = {
"detach-client", "detach",
"s:t:P", 0, 0,
"[-P] [-s target-session] " CMD_TARGET_CLIENT_USAGE,
"as:t:P", 0, 0,
"[-P] [-a] [-s target-session] " CMD_TARGET_CLIENT_USAGE,
CMD_READONLY,
NULL,
NULL,
@ -40,7 +40,7 @@ int
cmd_detach_client_exec(struct cmd *self, struct cmd_ctx *ctx)
{
struct args *args = self->args;
struct client *c;
struct client *c, *c2;
struct session *s;
enum msgtype msgtype;
u_int i;
@ -65,7 +65,15 @@ cmd_detach_client_exec(struct cmd *self, struct cmd_ctx *ctx)
if (c == NULL)
return (-1);
server_write_client(c, msgtype, NULL, 0);
if (args_has(args, 'a')) {
for (i = 0; i < ARRAY_LENGTH(&clients); i++) {
c2 = ARRAY_ITEM(&clients, i);
if (c2 == NULL || c == c2)
continue;
server_write_client(c2, msgtype, NULL, 0);
}
} else
server_write_client(c, msgtype, NULL, 0);
}
return (0);

5
tmux.1
View File

@ -589,6 +589,7 @@ recently used
session.
.It Xo Ic detach-client
.Op Fl P
.Op Fl a
.Op Fl s Ar target-session
.Op Fl t Ar target-client
.Xc
@ -597,6 +598,10 @@ Detach the current client if bound to a key, the client specified with
.Fl t ,
or all clients currently attached to the session specified by
.Fl s .
The
.Fl a
option kills all but the client given with
.Fl t .
If
.Fl P
is given, send SIGHUP to the parent process of the client, typically causing it