summaryrefslogtreecommitdiffstats
path: root/cmd-switch-client.c
diff options
context:
space:
mode:
authornicm <nicm>2020-05-16 15:45:29 +0000
committernicm <nicm>2020-05-16 15:45:29 +0000
commitcf9baddd6f844e8a26f1e7c59ba1c9eb3358571f (patch)
treee5297040b1538b4f41d786c1329b391880a36b76 /cmd-switch-client.c
parent469eda7e44fe6d502c976ebc34bbd97e6c6ed3e5 (diff)
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-switch-client.c')
-rw-r--r--cmd-switch-client.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/cmd-switch-client.c b/cmd-switch-client.c
index 82510ce6..d062b946 100644
--- a/cmd-switch-client.c
+++ b/cmd-switch-client.c
@@ -34,7 +34,7 @@ const struct cmd_entry cmd_switch_client_entry = {
.name = "switch-client",
.alias = "switchc",
- .args = { "lc:Enpt:rT:Z", 0, 0 },
+ .args = { "lc:EFnpt:rT:Z", 0, 0 },
.usage = "[-ElnprZ] [-c target-client] [-t target-session] "
"[-T key-table]",
@@ -74,8 +74,12 @@ cmd_switch_client_exec(struct cmd *self, struct cmdq_item *item)
wl = target.wl;
wp = target.wp;
- if (args_has(args, 'r'))
- tc->flags ^= CLIENT_READONLY;
+ if (args_has(args, 'r')) {
+ if (tc->flags & CLIENT_READONLY)
+ tc->flags &= ~(CLIENT_READONLY|CLIENT_IGNORESIZE);
+ else
+ tc->flags |= (CLIENT_READONLY|CLIENT_IGNORESIZE);
+ }
tablename = args_get(args, 'T');
if (tablename != NULL) {