mirror of
https://github.com/tmate-io/tmate.git
synced 2024-11-23 00:23:08 +01:00
Add a -r flag to switch-client to toggle the client read-only flag. From
Johan Commelin.
This commit is contained in:
parent
f95f792ddf
commit
88e9079870
@ -76,9 +76,11 @@ cmd_choose_client_exec(struct cmd *self, struct cmd_ctx *ctx)
|
||||
idx++;
|
||||
|
||||
window_choose_add(wl->window->active, i,
|
||||
"%s: %s [%ux%u %s]%s", c->tty.path,
|
||||
"%s: %s [%ux%u %s]%s%s", c->tty.path,
|
||||
c->session->name, c->tty.sx, c->tty.sy,
|
||||
c->tty.termname, c->tty.flags & TTY_UTF8 ? " (utf8)" : "");
|
||||
c->tty.termname,
|
||||
c->tty.flags & TTY_UTF8 ? " (utf8)" : "",
|
||||
c->flags & CLIENT_READONLY ? " (ro)" : "");
|
||||
}
|
||||
|
||||
cdata = xmalloc(sizeof *cdata);
|
||||
|
@ -33,7 +33,7 @@ const struct cmd_entry cmd_list_clients_entry = {
|
||||
"list-clients", "lsc",
|
||||
"t:", 0, 0,
|
||||
CMD_TARGET_SESSION_USAGE,
|
||||
0,
|
||||
CMD_READONLY,
|
||||
NULL,
|
||||
NULL,
|
||||
cmd_list_clients_exec
|
||||
@ -68,9 +68,10 @@ cmd_list_clients_exec(struct cmd *self, struct cmd_ctx *ctx)
|
||||
|
||||
if (s != NULL && s != c->session)
|
||||
continue;
|
||||
ctx->print(ctx, "%s: %s [%ux%u %s]%s", c->tty.path,
|
||||
ctx->print(ctx, "%s: %s [%ux%u %s]%s%s", c->tty.path,
|
||||
c->session->name, c->tty.sx, c->tty.sy,
|
||||
c->tty.termname, s_utf8);
|
||||
c->tty.termname, s_utf8,
|
||||
c->flags & CLIENT_READONLY ? " (ro)" : "");
|
||||
}
|
||||
|
||||
return (0);
|
||||
|
@ -32,9 +32,9 @@ int cmd_switch_client_exec(struct cmd *, struct cmd_ctx *);
|
||||
|
||||
const struct cmd_entry cmd_switch_client_entry = {
|
||||
"switch-client", "switchc",
|
||||
"lc:npt:", 0, 0,
|
||||
"[-lnp] [-c target-client] [-t target-session]",
|
||||
0,
|
||||
"lc:npt:r", 0, 0,
|
||||
"[-lnpr] [-c target-client] [-t target-session]",
|
||||
CMD_READONLY,
|
||||
cmd_switch_client_key_binding,
|
||||
NULL,
|
||||
cmd_switch_client_exec
|
||||
@ -67,6 +67,16 @@ cmd_switch_client_exec(struct cmd *self, struct cmd_ctx *ctx)
|
||||
if ((c = cmd_find_client(ctx, args_get(args, 'c'))) == NULL)
|
||||
return (-1);
|
||||
|
||||
if (args_has(args, 'r')) {
|
||||
if (c->flags & CLIENT_READONLY) {
|
||||
c->flags &= ~CLIENT_READONLY;
|
||||
ctx->info(ctx, "made client writable");
|
||||
} else {
|
||||
c->flags |= CLIENT_READONLY;
|
||||
ctx->info(ctx, "made client read-only");
|
||||
}
|
||||
}
|
||||
|
||||
s = NULL;
|
||||
if (args_has(args, 'n')) {
|
||||
if ((s = session_next_session(c->session)) == NULL) {
|
||||
|
10
tmux.1
10
tmux.1
@ -558,7 +558,9 @@ is specified, any other clients attached to the session are detached.
|
||||
.Fl r
|
||||
signifies the client is read-only (only keys bound to the
|
||||
.Ic detach-client
|
||||
command have any effect)
|
||||
or
|
||||
.Ic switch-client
|
||||
commands have any effect)
|
||||
.Pp
|
||||
If no server is started,
|
||||
.Ic attach-session
|
||||
@ -714,7 +716,7 @@ Suspend a client by sending
|
||||
.Dv SIGTSTP
|
||||
(tty stop).
|
||||
.It Xo Ic switch-client
|
||||
.Op Fl lnp
|
||||
.Op Fl lnpr
|
||||
.Op Fl c Ar target-client
|
||||
.Op Fl t Ar target-session
|
||||
.Xc
|
||||
@ -730,6 +732,10 @@ or
|
||||
.Fl p
|
||||
is used, the client is moved to the last, next or previous session
|
||||
respectively.
|
||||
.Fl r
|
||||
toggles whether a client is read-only (see the
|
||||
.Ic attach-session
|
||||
command).
|
||||
.El
|
||||
.Sh WINDOWS AND PANES
|
||||
A
|
||||
|
Loading…
Reference in New Issue
Block a user