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.
This commit is contained in:
Nicholas Marriott
2020-05-05 15:42:20 +01:00
parent deacfedc65
commit 2f89d2e7d8
10 changed files with 136 additions and 50 deletions

6
tmux.h
View File

@ -1570,7 +1570,7 @@ struct client {
#define CLIENT_CONTROLCONTROL 0x4000
#define CLIENT_FOCUSED 0x8000
#define CLIENT_UTF8 0x10000
/* 0x20000 unused */
#define CLIENT_IGNORESIZE 0x20000
#define CLIENT_IDENTIFIED 0x40000
#define CLIENT_STATUSFORCE 0x80000
#define CLIENT_DOUBLECLICK 0x100000
@ -2165,7 +2165,7 @@ char *cmd_template_replace(const char *, const char *, int);
/* cmd-attach-session.c */
enum cmd_retval cmd_attach_session(struct cmdq_item *, const char *, int, int,
int, const char *, int);
int, const char *, int, const char *);
/* cmd-parse.c */
void cmd_parse_empty(struct cmd_parse_input *);
@ -2304,6 +2304,8 @@ void server_client_push_stderr(struct client *);
void printflike(2, 3) server_client_add_message(struct client *, const char *,
...);
const char *server_client_get_cwd(struct client *, struct session *);
void server_client_set_flags(struct client *, const char *);
const char *server_client_get_flags(struct client *);
/* server-fn.c */
void server_redraw_client(struct client *);