diff options
author | nicm <nicm> | 2020-05-16 15:45:29 +0000 |
---|---|---|
committer | nicm <nicm> | 2020-05-16 15:45:29 +0000 |
commit | cf9baddd6f844e8a26f1e7c59ba1c9eb3358571f (patch) | |
tree | e5297040b1538b4f41d786c1329b391880a36b76 /cmd-new-session.c | |
parent | 469eda7e44fe6d502c976ebc34bbd97e6c6ed3e5 (diff) | |
download | rtmux-cf9baddd6f844e8a26f1e7c59ba1c9eb3358571f.tar.gz rtmux-cf9baddd6f844e8a26f1e7c59ba1c9eb3358571f.tar.bz2 rtmux-cf9baddd6f844e8a26f1e7c59ba1c9eb3358571f.zip |
Change the existing client flags for control mode to apply for any
client, use the same mechanism for the read-only flag and add an
ignore-size flag.
refresh-client -F has become -f (-F stays for backwards compatibility)
and attach-session and switch-client now have -f flags also. A new
format "client_flags" lists the flags and is shown by list-clients by
default.
This separates the read-only flag from "ignore size" behaviour (new
ignore-size) flag - both behaviours are useful in different
circumstances.
attach -r and switchc -r remain and set or toggle both flags together.
Diffstat (limited to 'cmd-new-session.c')
-rw-r--r-- | cmd-new-session.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/cmd-new-session.c b/cmd-new-session.c index 9815e1e1..a9a0376b 100644 --- a/cmd-new-session.c +++ b/cmd-new-session.c @@ -39,9 +39,9 @@ const struct cmd_entry cmd_new_session_entry = { .name = "new-session", .alias = "new", - .args = { "Ac:dDe:EF:n:Ps:t:x:Xy:", 0, -1 }, + .args = { "Ac:dDe:EF:f:n:Ps:t:x:Xy:", 0, -1 }, .usage = "[-AdDEPX] [-c start-directory] [-e environment] [-F format] " - "[-n window-name] [-s session-name] " + "[-f flags] [-n window-name] [-s session-name] " CMD_TARGET_SESSION_USAGE " [-x width] [-y height] [command]", .target = { 't', CMD_FIND_SESSION, CMD_FIND_CANFAIL }, @@ -112,7 +112,7 @@ cmd_new_session_exec(struct cmd *self, struct cmdq_item *item) if (as != NULL) { retval = cmd_attach_session(item, as->name, args_has(args, 'D'), args_has(args, 'X'), 0, NULL, - args_has(args, 'E')); + args_has(args, 'E'), args_get(args, 'f')); free(newname); return (retval); } @@ -306,6 +306,8 @@ cmd_new_session_exec(struct cmd *self, struct cmdq_item *item) * taking this session and needs to get MSG_READY and stay around. */ if (!detached) { + if (args_has(args, 'f')) + server_client_set_flags(c, args_get(args, 'f')); if (!already_attached) { if (~c->flags & CLIENT_CONTROL) proc_send(c->peer, MSG_READY, -1, NULL, 0); |