mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-03 16:46:18 +00:00 
			
		
		
		
	Merge branch 'obsd-master'
Conflicts: tmux.h
This commit is contained in:
		
							
								
								
									
										12
									
								
								alerts.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								alerts.c
									
									
									
									
									
								
							@@ -77,8 +77,8 @@ alerts_callback(__unused int fd, __unused short events, __unused void *arg)
 | 
			
		||||
int
 | 
			
		||||
alerts_enabled(struct window *w, int flags)
 | 
			
		||||
{
 | 
			
		||||
	struct session	*s;
 | 
			
		||||
 | 
			
		||||
	if (flags & WINDOW_BELL)
 | 
			
		||||
		return (1);
 | 
			
		||||
	if (flags & WINDOW_ACTIVITY) {
 | 
			
		||||
		if (options_get_number(w->options, "monitor-activity"))
 | 
			
		||||
			return (1);
 | 
			
		||||
@@ -87,14 +87,6 @@ alerts_enabled(struct window *w, int flags)
 | 
			
		||||
		if (options_get_number(w->options, "monitor-silence") != 0)
 | 
			
		||||
			return (1);
 | 
			
		||||
	}
 | 
			
		||||
	if (~flags & WINDOW_BELL)
 | 
			
		||||
		return (0);
 | 
			
		||||
	RB_FOREACH(s, sessions, &sessions) {
 | 
			
		||||
		if (!session_has(s, w))
 | 
			
		||||
			continue;
 | 
			
		||||
		if (options_get_number(s->options, "bell-action") != BELL_NONE)
 | 
			
		||||
			return (1);
 | 
			
		||||
	}
 | 
			
		||||
	return (0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -97,6 +97,7 @@ cmd_if_shell_exec(struct cmd *self, struct cmd_q *cmdq)
 | 
			
		||||
			cmd = args->argv[1];
 | 
			
		||||
		else if (args->argc == 3)
 | 
			
		||||
			cmd = args->argv[2];
 | 
			
		||||
		free(shellcmd);
 | 
			
		||||
		if (cmd == NULL)
 | 
			
		||||
			return (CMD_RETURN_NORMAL);
 | 
			
		||||
		if (cmd_string_parse(cmd, &cmdlist, NULL, 0, &cause) != 0) {
 | 
			
		||||
 
 | 
			
		||||
@@ -97,7 +97,7 @@ cmd_new_window_exec(struct cmd *self, struct cmd_q *cmdq)
 | 
			
		||||
		ft = format_create();
 | 
			
		||||
		format_defaults(ft, cmd_find_client(cmdq, NULL, 1), s, NULL,
 | 
			
		||||
		    NULL);
 | 
			
		||||
		cwd = format_expand(ft, args_get(args, 'c'));
 | 
			
		||||
		cwd = to_free = format_expand(ft, args_get(args, 'c'));
 | 
			
		||||
		format_free(ft);
 | 
			
		||||
	} else if (cmdq->client != NULL && cmdq->client->session == NULL)
 | 
			
		||||
		cwd = cmdq->client->cwd;
 | 
			
		||||
 
 | 
			
		||||
@@ -84,7 +84,7 @@ enum cmd_retval
 | 
			
		||||
cmd_set_option_exec(struct cmd *self, struct cmd_q *cmdq)
 | 
			
		||||
{
 | 
			
		||||
	struct args				*args = self->args;
 | 
			
		||||
	const struct options_table_entry	*table, *oe;
 | 
			
		||||
	const struct options_table_entry	*oe;
 | 
			
		||||
	struct session				*s;
 | 
			
		||||
	struct winlink				*wl;
 | 
			
		||||
	struct client				*c;
 | 
			
		||||
@@ -108,8 +108,8 @@ cmd_set_option_exec(struct cmd *self, struct cmd_q *cmdq)
 | 
			
		||||
		return (cmd_set_option_user(self, cmdq, optstr, valstr));
 | 
			
		||||
 | 
			
		||||
	/* Find the option entry, try each table. */
 | 
			
		||||
	table = oe = NULL;
 | 
			
		||||
	if (options_table_find(optstr, &table, &oe) != 0) {
 | 
			
		||||
	oe = NULL;
 | 
			
		||||
	if (options_table_find(optstr, &oe) != 0) {
 | 
			
		||||
		if (!args_has(args, 'q')) {
 | 
			
		||||
			cmdq_error(cmdq, "ambiguous option: %s", optstr);
 | 
			
		||||
			return (CMD_RETURN_ERROR);
 | 
			
		||||
@@ -124,10 +124,10 @@ cmd_set_option_exec(struct cmd *self, struct cmd_q *cmdq)
 | 
			
		||||
		return (CMD_RETURN_NORMAL);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	/* Work out the tree from the table. */
 | 
			
		||||
	if (table == server_options_table)
 | 
			
		||||
	/* Work out the tree from the scope of the option. */
 | 
			
		||||
	if (oe->scope == OPTIONS_TABLE_SERVER)
 | 
			
		||||
		oo = global_options;
 | 
			
		||||
	else if (table == window_options_table) {
 | 
			
		||||
	else if (oe->scope == OPTIONS_TABLE_WINDOW) {
 | 
			
		||||
		if (args_has(self->args, 'g'))
 | 
			
		||||
			oo = global_w_options;
 | 
			
		||||
		else {
 | 
			
		||||
@@ -141,7 +141,7 @@ cmd_set_option_exec(struct cmd *self, struct cmd_q *cmdq)
 | 
			
		||||
			}
 | 
			
		||||
			oo = wl->window->options;
 | 
			
		||||
		}
 | 
			
		||||
	} else if (table == session_options_table) {
 | 
			
		||||
	} else if (oe->scope == OPTIONS_TABLE_SESSION) {
 | 
			
		||||
		if (args_has(self->args, 'g'))
 | 
			
		||||
			oo = global_s_options;
 | 
			
		||||
		else {
 | 
			
		||||
 
 | 
			
		||||
@@ -32,7 +32,7 @@ enum cmd_retval	 cmd_show_options_exec(struct cmd *, struct cmd_q *);
 | 
			
		||||
enum cmd_retval	cmd_show_options_one(struct cmd *, struct cmd_q *,
 | 
			
		||||
		    struct options *, int);
 | 
			
		||||
enum cmd_retval cmd_show_options_all(struct cmd *, struct cmd_q *,
 | 
			
		||||
		    const struct options_table_entry *, struct options *);
 | 
			
		||||
	    	    struct options *, enum options_table_scope);
 | 
			
		||||
 | 
			
		||||
const struct cmd_entry cmd_show_options_entry = {
 | 
			
		||||
	"show-options", "show",
 | 
			
		||||
@@ -53,19 +53,19 @@ const struct cmd_entry cmd_show_window_options_entry = {
 | 
			
		||||
enum cmd_retval
 | 
			
		||||
cmd_show_options_exec(struct cmd *self, struct cmd_q *cmdq)
 | 
			
		||||
{
 | 
			
		||||
	struct args				*args = self->args;
 | 
			
		||||
	struct session				*s;
 | 
			
		||||
	struct winlink				*wl;
 | 
			
		||||
	const struct options_table_entry	*table;
 | 
			
		||||
	struct options				*oo;
 | 
			
		||||
	int					 quiet;
 | 
			
		||||
	struct args		*args = self->args;
 | 
			
		||||
	struct session		*s;
 | 
			
		||||
	struct winlink		*wl;
 | 
			
		||||
	struct options		*oo;
 | 
			
		||||
	int			 quiet;
 | 
			
		||||
	enum options_table_scope scope;
 | 
			
		||||
 | 
			
		||||
	if (args_has(self->args, 's')) {
 | 
			
		||||
		oo = global_options;
 | 
			
		||||
		table = server_options_table;
 | 
			
		||||
		scope = OPTIONS_TABLE_SERVER;
 | 
			
		||||
	} else if (args_has(self->args, 'w') ||
 | 
			
		||||
	    self->entry == &cmd_show_window_options_entry) {
 | 
			
		||||
		table = window_options_table;
 | 
			
		||||
		scope = OPTIONS_TABLE_WINDOW;
 | 
			
		||||
		if (args_has(self->args, 'g'))
 | 
			
		||||
			oo = global_w_options;
 | 
			
		||||
		else {
 | 
			
		||||
@@ -75,7 +75,7 @@ cmd_show_options_exec(struct cmd *self, struct cmd_q *cmdq)
 | 
			
		||||
			oo = wl->window->options;
 | 
			
		||||
		}
 | 
			
		||||
	} else {
 | 
			
		||||
		table = session_options_table;
 | 
			
		||||
		scope = OPTIONS_TABLE_SESSION;
 | 
			
		||||
		if (args_has(self->args, 'g'))
 | 
			
		||||
			oo = global_s_options;
 | 
			
		||||
		else {
 | 
			
		||||
@@ -88,7 +88,7 @@ cmd_show_options_exec(struct cmd *self, struct cmd_q *cmdq)
 | 
			
		||||
 | 
			
		||||
	quiet = args_has(self->args, 'q');
 | 
			
		||||
	if (args->argc == 0)
 | 
			
		||||
		return (cmd_show_options_all(self, cmdq, table, oo));
 | 
			
		||||
		return (cmd_show_options_all(self, cmdq, oo, scope));
 | 
			
		||||
	else
 | 
			
		||||
		return (cmd_show_options_one(self, cmdq, oo, quiet));
 | 
			
		||||
}
 | 
			
		||||
@@ -99,7 +99,7 @@ cmd_show_options_one(struct cmd *self, struct cmd_q *cmdq,
 | 
			
		||||
{
 | 
			
		||||
	struct args				*args = self->args;
 | 
			
		||||
	const char				*name = args->argv[0];
 | 
			
		||||
	const struct options_table_entry	*table, *oe;
 | 
			
		||||
	const struct options_table_entry	*oe;
 | 
			
		||||
	struct options_entry			*o;
 | 
			
		||||
	const char				*optval;
 | 
			
		||||
 | 
			
		||||
@@ -118,14 +118,14 @@ retry:
 | 
			
		||||
		return (CMD_RETURN_NORMAL);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	table = oe = NULL;
 | 
			
		||||
	if (options_table_find(name, &table, &oe) != 0) {
 | 
			
		||||
	oe = NULL;
 | 
			
		||||
	if (options_table_find(name, &oe) != 0) {
 | 
			
		||||
		cmdq_error(cmdq, "ambiguous option: %s", name);
 | 
			
		||||
		return (CMD_RETURN_ERROR);
 | 
			
		||||
	}
 | 
			
		||||
	if (oe == NULL) {
 | 
			
		||||
		if (quiet)
 | 
			
		||||
		    return (CMD_RETURN_NORMAL);
 | 
			
		||||
			return (CMD_RETURN_NORMAL);
 | 
			
		||||
		cmdq_error(cmdq, "unknown option: %s", name);
 | 
			
		||||
		return (CMD_RETURN_ERROR);
 | 
			
		||||
	}
 | 
			
		||||
@@ -144,12 +144,13 @@ retry:
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
enum cmd_retval
 | 
			
		||||
cmd_show_options_all(struct cmd *self, struct cmd_q *cmdq,
 | 
			
		||||
    const struct options_table_entry *table, struct options *oo)
 | 
			
		||||
cmd_show_options_all(struct cmd *self, struct cmd_q *cmdq, struct options *oo,
 | 
			
		||||
    enum options_table_scope scope)
 | 
			
		||||
{
 | 
			
		||||
	const struct options_table_entry	*oe;
 | 
			
		||||
	struct options_entry			*o;
 | 
			
		||||
	const char				*optval;
 | 
			
		||||
	int					 vflag;
 | 
			
		||||
 | 
			
		||||
	o = options_first(oo);
 | 
			
		||||
	while (o != NULL) {
 | 
			
		||||
@@ -162,14 +163,14 @@ cmd_show_options_all(struct cmd *self, struct cmd_q *cmdq,
 | 
			
		||||
		o = options_next(o);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for (oe = table; oe->name != NULL; oe++) {
 | 
			
		||||
		if (oe->style != NULL)
 | 
			
		||||
	vflag = args_has(self->args, 'v');
 | 
			
		||||
	for (oe = options_table; oe->name != NULL; oe++) {
 | 
			
		||||
		if (oe->style != NULL || oe->scope != scope)
 | 
			
		||||
			continue;
 | 
			
		||||
		if ((o = options_find1(oo, oe->name)) == NULL)
 | 
			
		||||
			continue;
 | 
			
		||||
		optval = options_table_print_entry(oe, o,
 | 
			
		||||
		    args_has(self->args, 'v'));
 | 
			
		||||
		if (args_has(self->args, 'v'))
 | 
			
		||||
		optval = options_table_print_entry(oe, o, vflag);
 | 
			
		||||
		if (vflag)
 | 
			
		||||
			cmdq_print(cmdq, "%s", optval);
 | 
			
		||||
		else
 | 
			
		||||
			cmdq_print(cmdq, "%s %s", oe->name, optval);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										175
									
								
								options-table.c
									
									
									
									
									
								
							
							
						
						
									
										175
									
								
								options-table.c
									
									
									
									
									
								
							@@ -52,9 +52,10 @@ const char *options_table_bell_action_list[] = {
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* Server options. */
 | 
			
		||||
const struct options_table_entry server_options_table[] = {
 | 
			
		||||
const struct options_table_entry options_table[] = {
 | 
			
		||||
	{ .name = "buffer-limit",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SERVER,
 | 
			
		||||
	  .minimum = 1,
 | 
			
		||||
	  .maximum = INT_MAX,
 | 
			
		||||
	  .default_num = 20
 | 
			
		||||
@@ -62,11 +63,13 @@ const struct options_table_entry server_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "default-terminal",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STRING,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SERVER,
 | 
			
		||||
	  .default_str = "screen"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "escape-time",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SERVER,
 | 
			
		||||
	  .minimum = 0,
 | 
			
		||||
	  .maximum = INT_MAX,
 | 
			
		||||
	  .default_num = 500
 | 
			
		||||
@@ -74,21 +77,25 @@ const struct options_table_entry server_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "exit-unattached",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SERVER,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "focus-events",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SERVER,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "history-file",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STRING,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SERVER,
 | 
			
		||||
	  .default_str = ""
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "message-limit",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SERVER,
 | 
			
		||||
	  .minimum = 0,
 | 
			
		||||
	  .maximum = INT_MAX,
 | 
			
		||||
	  .default_num = 100
 | 
			
		||||
@@ -96,28 +103,27 @@ const struct options_table_entry server_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "quiet",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SERVER,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "set-clipboard",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SERVER,
 | 
			
		||||
	  .default_num = 1
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "terminal-overrides",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STRING,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SERVER,
 | 
			
		||||
	  .default_str = "xterm*:XT:Ms=\\E]52;%p1%s;%p2%s\\007"
 | 
			
		||||
	                 ":Cs=\\E]12;%p1%s\\007:Cr=\\E]112\\007"
 | 
			
		||||
			 ":Ss=\\E[%p1%d q:Se=\\E[2 q,screen*:XT"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = NULL }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* Session options. */
 | 
			
		||||
const struct options_table_entry session_options_table[] = {
 | 
			
		||||
	{ .name = "assume-paste-time",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .minimum = 0,
 | 
			
		||||
	  .maximum = INT_MAX,
 | 
			
		||||
	  .default_num = 1,
 | 
			
		||||
@@ -125,6 +131,7 @@ const struct options_table_entry session_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "base-index",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .minimum = 0,
 | 
			
		||||
	  .maximum = INT_MAX,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
@@ -132,47 +139,56 @@ const struct options_table_entry session_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "bell-action",
 | 
			
		||||
	  .type = OPTIONS_TABLE_CHOICE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .choices = options_table_bell_action_list,
 | 
			
		||||
	  .default_num = BELL_ANY
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "bell-on-alert",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "default-command",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STRING,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_str = ""
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "default-shell",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STRING,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_str = _PATH_BSHELL
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "destroy-unattached",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "detach-on-destroy",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 1
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "display-panes-active-colour",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 1
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "display-panes-colour",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 4
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "display-panes-time",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .minimum = 1,
 | 
			
		||||
	  .maximum = INT_MAX,
 | 
			
		||||
	  .default_num = 1000
 | 
			
		||||
@@ -180,6 +196,7 @@ const struct options_table_entry session_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "display-time",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .minimum = 1,
 | 
			
		||||
	  .maximum = INT_MAX,
 | 
			
		||||
	  .default_num = 750
 | 
			
		||||
@@ -187,6 +204,7 @@ const struct options_table_entry session_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "history-limit",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .minimum = 0,
 | 
			
		||||
	  .maximum = INT_MAX,
 | 
			
		||||
	  .default_num = 2000
 | 
			
		||||
@@ -194,6 +212,7 @@ const struct options_table_entry session_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "lock-after-time",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .minimum = 0,
 | 
			
		||||
	  .maximum = INT_MAX,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
@@ -201,77 +220,91 @@ const struct options_table_entry session_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "lock-command",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STRING,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_str = "lock -np"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "message-attr",
 | 
			
		||||
	  .type = OPTIONS_TABLE_ATTRIBUTES,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 0,
 | 
			
		||||
	  .style = "message-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "message-bg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 3,
 | 
			
		||||
	  .style = "message-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "message-command-attr",
 | 
			
		||||
	  .type = OPTIONS_TABLE_ATTRIBUTES,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 0,
 | 
			
		||||
	  .style = "message-command-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "message-command-bg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 0,
 | 
			
		||||
	  .style = "message-command-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "message-command-fg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 3,
 | 
			
		||||
	  .style = "message-command-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "message-command-style",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STYLE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_str = "bg=black,fg=yellow"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "message-fg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 0,
 | 
			
		||||
	  .style = "message-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "message-style",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STYLE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_str = "bg=yellow,fg=black"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "mouse",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "prefix",
 | 
			
		||||
	  .type = OPTIONS_TABLE_KEY,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = '\002',
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "prefix2",
 | 
			
		||||
	  .type = OPTIONS_TABLE_KEY,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = KEYC_NONE,
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "renumber-windows",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "repeat-time",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .minimum = 0,
 | 
			
		||||
	  .maximum = SHRT_MAX,
 | 
			
		||||
	  .default_num = 500
 | 
			
		||||
@@ -279,44 +312,52 @@ const struct options_table_entry session_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "set-remain-on-exit",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "set-titles",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "set-titles-string",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STRING,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_str = "#S:#I:#W - \"#T\" #{session_alerts}"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "status",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 1
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "status-attr",
 | 
			
		||||
	  .type = OPTIONS_TABLE_ATTRIBUTES,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 0,
 | 
			
		||||
	  .style = "status-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "status-bg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 2,
 | 
			
		||||
	  .style = "status-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "status-fg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 0,
 | 
			
		||||
	  .style = "status-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "status-interval",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .minimum = 0,
 | 
			
		||||
	  .maximum = INT_MAX,
 | 
			
		||||
	  .default_num = 15
 | 
			
		||||
@@ -324,41 +365,48 @@ const struct options_table_entry session_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "status-justify",
 | 
			
		||||
	  .type = OPTIONS_TABLE_CHOICE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .choices = options_table_status_justify_list,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "status-keys",
 | 
			
		||||
	  .type = OPTIONS_TABLE_CHOICE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .choices = options_table_status_keys_list,
 | 
			
		||||
	  .default_num = MODEKEY_EMACS
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "status-left",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STRING,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_str = "[#S] "
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "status-left-attr",
 | 
			
		||||
	  .type = OPTIONS_TABLE_ATTRIBUTES,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 0,
 | 
			
		||||
	  .style = "status-left-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "status-left-bg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 8,
 | 
			
		||||
	  .style = "status-left-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "status-left-fg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 8,
 | 
			
		||||
	  .style = "status-left-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "status-left-length",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .minimum = 0,
 | 
			
		||||
	  .maximum = SHRT_MAX,
 | 
			
		||||
	  .default_num = 10
 | 
			
		||||
@@ -366,40 +414,47 @@ const struct options_table_entry session_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "status-left-style",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STYLE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_str = "default"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "status-position",
 | 
			
		||||
	  .type = OPTIONS_TABLE_CHOICE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .choices = options_table_status_position_list,
 | 
			
		||||
	  .default_num = 1
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "status-right",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STRING,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_str = " \"#{=21:pane_title}\" %H:%M %d-%b-%y"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "status-right-attr",
 | 
			
		||||
	  .type = OPTIONS_TABLE_ATTRIBUTES,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 0,
 | 
			
		||||
	  .style = "status-right-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "status-right-bg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 8,
 | 
			
		||||
	  .style = "status-right-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "status-right-fg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 8,
 | 
			
		||||
	  .style = "status-right-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "status-right-length",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .minimum = 0,
 | 
			
		||||
	  .maximum = SHRT_MAX,
 | 
			
		||||
	  .default_num = 40
 | 
			
		||||
@@ -407,16 +462,19 @@ const struct options_table_entry session_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "status-right-style",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STYLE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_str = "default"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "status-style",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STYLE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_str = "bg=green,fg=black"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "update-environment",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STRING,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_str = "DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID "
 | 
			
		||||
	                 "SSH_CONNECTION WINDOWID XAUTHORITY"
 | 
			
		||||
 | 
			
		||||
@@ -424,68 +482,75 @@ const struct options_table_entry session_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "visual-activity",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "visual-bell",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "visual-silence",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "word-separators",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STRING,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_SESSION,
 | 
			
		||||
	  .default_str = " -_@"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = NULL }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* Window options. */
 | 
			
		||||
const struct options_table_entry window_options_table[] = {
 | 
			
		||||
	{ .name = "aggressive-resize",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "allow-rename",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 1
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "alternate-screen",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 1
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "automatic-rename",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 1
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "automatic-rename-format",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STRING,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_str = "#{?pane_in_mode,[tmux],#{pane_current_command}}"
 | 
			
		||||
	                 "#{?pane_dead,[dead],}"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "clock-mode-colour",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 4
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "clock-mode-style",
 | 
			
		||||
	  .type = OPTIONS_TABLE_CHOICE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .choices = options_table_clock_mode_style_list,
 | 
			
		||||
	  .default_num = 1
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "force-height",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .minimum = 0,
 | 
			
		||||
	  .maximum = INT_MAX,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
@@ -493,6 +558,7 @@ const struct options_table_entry window_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "force-width",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .minimum = 0,
 | 
			
		||||
	  .maximum = INT_MAX,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
@@ -500,6 +566,7 @@ const struct options_table_entry window_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "main-pane-height",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .minimum = 1,
 | 
			
		||||
	  .maximum = INT_MAX,
 | 
			
		||||
	  .default_num = 24
 | 
			
		||||
@@ -507,6 +574,7 @@ const struct options_table_entry window_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "main-pane-width",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .minimum = 1,
 | 
			
		||||
	  .maximum = INT_MAX,
 | 
			
		||||
	  .default_num = 80
 | 
			
		||||
@@ -514,40 +582,47 @@ const struct options_table_entry window_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "mode-attr",
 | 
			
		||||
	  .type = OPTIONS_TABLE_ATTRIBUTES,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 0,
 | 
			
		||||
	  .style = "mode-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "mode-bg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 3,
 | 
			
		||||
	  .style = "mode-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "mode-fg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 0,
 | 
			
		||||
	  .style = "mode-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "mode-keys",
 | 
			
		||||
	  .type = OPTIONS_TABLE_CHOICE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .choices = options_table_mode_keys_list,
 | 
			
		||||
	  .default_num = MODEKEY_EMACS
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "mode-style",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STYLE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_str = "bg=yellow,fg=black"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "monitor-activity",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "monitor-silence",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .minimum = 0,
 | 
			
		||||
	  .maximum = INT_MAX,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
@@ -555,6 +630,7 @@ const struct options_table_entry window_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "other-pane-height",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .minimum = 0,
 | 
			
		||||
	  .maximum = INT_MAX,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
@@ -562,6 +638,7 @@ const struct options_table_entry window_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "other-pane-width",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .minimum = 0,
 | 
			
		||||
	  .maximum = INT_MAX,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
@@ -569,23 +646,27 @@ const struct options_table_entry window_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "pane-active-border-bg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 8,
 | 
			
		||||
	  .style = "pane-active-border-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "pane-active-border-fg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 2,
 | 
			
		||||
	  .style = "pane-active-border-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "pane-active-border-style",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STYLE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_str = "fg=green"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "pane-base-index",
 | 
			
		||||
	  .type = OPTIONS_TABLE_NUMBER,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .minimum = 0,
 | 
			
		||||
	  .maximum = USHRT_MAX,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
@@ -593,178 +674,210 @@ const struct options_table_entry window_options_table[] = {
 | 
			
		||||
 | 
			
		||||
	{ .name = "pane-border-bg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 8,
 | 
			
		||||
	  .style = "pane-border-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "pane-border-fg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 8,
 | 
			
		||||
	  .style = "pane-border-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "pane-border-style",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STYLE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_str = "default"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "remain-on-exit",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "synchronize-panes",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-active-style",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STYLE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_str = "default"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-style",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STYLE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_str = "default"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-activity-attr",
 | 
			
		||||
	  .type = OPTIONS_TABLE_ATTRIBUTES,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = GRID_ATTR_REVERSE,
 | 
			
		||||
	  .style = "window-status-activity-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-activity-bg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 8,
 | 
			
		||||
	  .style = "window-status-activity-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-activity-fg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 8,
 | 
			
		||||
	  .style = "window-status-activity-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-activity-style",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STYLE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_str = "reverse"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-attr",
 | 
			
		||||
	  .type = OPTIONS_TABLE_ATTRIBUTES,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 0,
 | 
			
		||||
	  .style = "window-status-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-bell-attr",
 | 
			
		||||
	  .type = OPTIONS_TABLE_ATTRIBUTES,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = GRID_ATTR_REVERSE,
 | 
			
		||||
	  .style = "window-status-bell-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-bell-bg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 8,
 | 
			
		||||
	  .style = "window-status-bell-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-bell-fg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 8,
 | 
			
		||||
	  .style = "window-status-bell-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-bell-style",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STYLE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_str = "reverse"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-bg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 8,
 | 
			
		||||
	  .style = "window-status-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-current-attr",
 | 
			
		||||
	  .type = OPTIONS_TABLE_ATTRIBUTES,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 0,
 | 
			
		||||
	  .style = "window-status-current-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-current-bg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 8,
 | 
			
		||||
	  .style = "window-status-current-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-current-fg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 8,
 | 
			
		||||
	  .style = "window-status-current-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-current-format",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STRING,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_str = "#I:#W#{?window_flags,#{window_flags}, }"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-current-style",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STYLE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_str = "default"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-fg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 8,
 | 
			
		||||
	  .style = "window-status-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-format",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STRING,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_str = "#I:#W#{?window_flags,#{window_flags}, }"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-last-attr",
 | 
			
		||||
	  .type = OPTIONS_TABLE_ATTRIBUTES,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 0,
 | 
			
		||||
	  .style = "window-status-last-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-last-bg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 8,
 | 
			
		||||
	  .style = "window-status-last-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-last-fg",
 | 
			
		||||
	  .type = OPTIONS_TABLE_COLOUR,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 8,
 | 
			
		||||
	  .style = "window-status-last-style"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-last-style",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STYLE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_str = "default"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-separator",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STRING,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_str = " "
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "window-status-style",
 | 
			
		||||
	  .type = OPTIONS_TABLE_STYLE,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_str = "default"
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "wrap-search",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 1
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
	{ .name = "xterm-keys",
 | 
			
		||||
	  .type = OPTIONS_TABLE_FLAG,
 | 
			
		||||
	  .scope = OPTIONS_TABLE_WINDOW,
 | 
			
		||||
	  .default_num = 0
 | 
			
		||||
	},
 | 
			
		||||
 | 
			
		||||
@@ -773,12 +886,13 @@ const struct options_table_entry window_options_table[] = {
 | 
			
		||||
 | 
			
		||||
/* Populate an options tree from a table. */
 | 
			
		||||
void
 | 
			
		||||
options_table_populate_tree(
 | 
			
		||||
    const struct options_table_entry *table, struct options *oo)
 | 
			
		||||
options_table_populate_tree(enum options_table_scope scope, struct options *oo)
 | 
			
		||||
{
 | 
			
		||||
	const struct options_table_entry	*oe;
 | 
			
		||||
 | 
			
		||||
	for (oe = table; oe->name != NULL; oe++) {
 | 
			
		||||
	for (oe = options_table; oe->name != NULL; oe++) {
 | 
			
		||||
		if (oe->scope != scope)
 | 
			
		||||
			continue;
 | 
			
		||||
		switch (oe->type) {
 | 
			
		||||
		case OPTIONS_TABLE_STRING:
 | 
			
		||||
			options_set_string(oo, oe->name, "%s", oe->default_str);
 | 
			
		||||
@@ -844,33 +958,22 @@ options_table_print_entry(const struct options_table_entry *oe,
 | 
			
		||||
 | 
			
		||||
/* Find an option. */
 | 
			
		||||
int
 | 
			
		||||
options_table_find(
 | 
			
		||||
    const char *optstr, const struct options_table_entry **table,
 | 
			
		||||
    const struct options_table_entry **oe)
 | 
			
		||||
options_table_find(const char *optstr, const struct options_table_entry **oe)
 | 
			
		||||
{
 | 
			
		||||
	static const struct options_table_entry	*tables[] = {
 | 
			
		||||
		server_options_table,
 | 
			
		||||
		window_options_table,
 | 
			
		||||
		session_options_table
 | 
			
		||||
	};
 | 
			
		||||
	const struct options_table_entry	*oe_loop;
 | 
			
		||||
	u_int					 i;
 | 
			
		||||
 | 
			
		||||
	for (i = 0; i < nitems(tables); i++) {
 | 
			
		||||
		for (oe_loop = tables[i]; oe_loop->name != NULL; oe_loop++) {
 | 
			
		||||
			if (strncmp(oe_loop->name, optstr, strlen(optstr)) != 0)
 | 
			
		||||
				continue;
 | 
			
		||||
	for (oe_loop = options_table; oe_loop->name != NULL; oe_loop++) {
 | 
			
		||||
		if (strncmp(oe_loop->name, optstr, strlen(optstr)) != 0)
 | 
			
		||||
			continue;
 | 
			
		||||
 | 
			
		||||
			/* If already found, ambiguous. */
 | 
			
		||||
			if (*oe != NULL)
 | 
			
		||||
				return (-1);
 | 
			
		||||
			*oe = oe_loop;
 | 
			
		||||
			*table = tables[i];
 | 
			
		||||
		/* If already found, ambiguous. */
 | 
			
		||||
		if (*oe != NULL)
 | 
			
		||||
			return (-1);
 | 
			
		||||
		*oe = oe_loop;
 | 
			
		||||
 | 
			
		||||
			/* Bail now if an exact match. */
 | 
			
		||||
			if (strcmp((*oe)->name, optstr) == 0)
 | 
			
		||||
				break;
 | 
			
		||||
		}
 | 
			
		||||
		/* Bail now if an exact match. */
 | 
			
		||||
		if (strcmp(oe_loop->name, optstr) == 0)
 | 
			
		||||
			break;
 | 
			
		||||
	}
 | 
			
		||||
	return (0);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -492,8 +492,16 @@ server_client_assume_paste(struct session *s)
 | 
			
		||||
		return (0);
 | 
			
		||||
 | 
			
		||||
	timersub(&s->activity_time, &s->last_activity_time, &tv);
 | 
			
		||||
	if (tv.tv_sec == 0 && tv.tv_usec < t * 1000)
 | 
			
		||||
		return (1);
 | 
			
		||||
	if (tv.tv_sec == 0 && tv.tv_usec < t * 1000) {
 | 
			
		||||
		log_debug("session %s pasting (flag %d)", s->name,
 | 
			
		||||
		    !!(s->flags & SESSION_PASTING));
 | 
			
		||||
		if (s->flags & SESSION_PASTING)
 | 
			
		||||
			return (1);
 | 
			
		||||
		s->flags |= SESSION_PASTING;
 | 
			
		||||
		return (0);
 | 
			
		||||
	}
 | 
			
		||||
	log_debug("session %s not pasting", s->name);
 | 
			
		||||
	s->flags &= ~SESSION_PASTING;
 | 
			
		||||
	return (0);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										14
									
								
								status.c
									
									
									
									
									
								
							
							
						
						
									
										14
									
								
								status.c
									
									
									
									
									
								
							@@ -1205,19 +1205,7 @@ status_prompt_complete_list(u_int *size, const char *s)
 | 
			
		||||
			list[(*size)++] = (*cmdent)->name;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	for (oe = server_options_table; oe->name != NULL; oe++) {
 | 
			
		||||
		if (strncmp(oe->name, s, strlen(s)) == 0) {
 | 
			
		||||
			list = xreallocarray(list, (*size) + 1, sizeof *list);
 | 
			
		||||
			list[(*size)++] = oe->name;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	for (oe = session_options_table; oe->name != NULL; oe++) {
 | 
			
		||||
		if (strncmp(oe->name, s, strlen(s)) == 0) {
 | 
			
		||||
			list = xreallocarray(list, (*size) + 1, sizeof *list);
 | 
			
		||||
			list[(*size)++] = oe->name;
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	for (oe = window_options_table; oe->name != NULL; oe++) {
 | 
			
		||||
	for (oe = options_table; oe->name != NULL; oe++) {
 | 
			
		||||
		if (strncmp(oe->name, s, strlen(s)) == 0) {
 | 
			
		||||
			list = xreallocarray(list, (*size) + 1, sizeof *list);
 | 
			
		||||
			list[(*size)++] = oe->name;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										6
									
								
								tmux.c
									
									
									
									
									
								
							
							
						
						
									
										6
									
								
								tmux.c
									
									
									
									
									
								
							@@ -295,14 +295,14 @@ main(int argc, char **argv)
 | 
			
		||||
		environ_set(global_environ, "PWD", tmp);
 | 
			
		||||
 | 
			
		||||
	global_options = options_create(NULL);
 | 
			
		||||
	options_table_populate_tree(server_options_table, global_options);
 | 
			
		||||
	options_table_populate_tree(OPTIONS_TABLE_SERVER, global_options);
 | 
			
		||||
 | 
			
		||||
	global_s_options = options_create(NULL);
 | 
			
		||||
	options_table_populate_tree(session_options_table, global_s_options);
 | 
			
		||||
	options_table_populate_tree(OPTIONS_TABLE_SESSION, global_s_options);
 | 
			
		||||
	options_set_string(global_s_options, "default-shell", "%s", getshell());
 | 
			
		||||
 | 
			
		||||
	global_w_options = options_create(NULL);
 | 
			
		||||
	options_table_populate_tree(window_options_table, global_w_options);
 | 
			
		||||
	options_table_populate_tree(OPTIONS_TABLE_WINDOW, global_w_options);
 | 
			
		||||
 | 
			
		||||
	/* Override keys to vi if VISUAL or EDITOR are set. */
 | 
			
		||||
	if ((s = getenv("VISUAL")) != NULL || (s = getenv("EDITOR")) != NULL) {
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										38
									
								
								tmux.h
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								tmux.h
									
									
									
									
									
								
							@@ -35,6 +35,7 @@
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
#include "compat.h"
 | 
			
		||||
#include "xmalloc.h"
 | 
			
		||||
 | 
			
		||||
extern char    *__progname;
 | 
			
		||||
extern char   **environ;
 | 
			
		||||
@@ -48,8 +49,6 @@ struct session;
 | 
			
		||||
struct tmuxpeer;
 | 
			
		||||
struct tmuxproc;
 | 
			
		||||
 | 
			
		||||
#include "xmalloc.h"
 | 
			
		||||
 | 
			
		||||
/* Default global configuration file. */
 | 
			
		||||
#define TMUX_CONF "/etc/tmux.conf"
 | 
			
		||||
 | 
			
		||||
@@ -1017,6 +1016,7 @@ struct session {
 | 
			
		||||
	struct options	*options;
 | 
			
		||||
 | 
			
		||||
#define SESSION_UNATTACHED 0x1	/* not attached to any clients */
 | 
			
		||||
#define SESSION_PASTING 0x2
 | 
			
		||||
	int		 flags;
 | 
			
		||||
 | 
			
		||||
	u_int		 attached;
 | 
			
		||||
@@ -1150,7 +1150,7 @@ struct tty {
 | 
			
		||||
	struct tty_key	*key_tree;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* TTY command context and function pointer. */
 | 
			
		||||
/* TTY command context. */
 | 
			
		||||
struct tty_ctx {
 | 
			
		||||
	struct window_pane *wp;
 | 
			
		||||
 | 
			
		||||
@@ -1395,19 +1395,25 @@ enum options_table_type {
 | 
			
		||||
	OPTIONS_TABLE_CHOICE,
 | 
			
		||||
	OPTIONS_TABLE_STYLE
 | 
			
		||||
};
 | 
			
		||||
enum options_table_scope {
 | 
			
		||||
	OPTIONS_TABLE_SERVER,
 | 
			
		||||
	OPTIONS_TABLE_SESSION,
 | 
			
		||||
	OPTIONS_TABLE_WINDOW,
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct options_table_entry {
 | 
			
		||||
	const char	       *name;
 | 
			
		||||
	enum options_table_type	type;
 | 
			
		||||
	const char		 *name;
 | 
			
		||||
	enum options_table_type	  type;
 | 
			
		||||
	enum options_table_scope  scope;
 | 
			
		||||
 | 
			
		||||
	u_int			minimum;
 | 
			
		||||
	u_int			maximum;
 | 
			
		||||
	const char	      **choices;
 | 
			
		||||
	u_int			  minimum;
 | 
			
		||||
	u_int			  maximum;
 | 
			
		||||
	const char		**choices;
 | 
			
		||||
 | 
			
		||||
	const char	       *default_str;
 | 
			
		||||
	long long		default_num;
 | 
			
		||||
	const char		 *default_str;
 | 
			
		||||
	long long		  default_num;
 | 
			
		||||
 | 
			
		||||
	const char	       *style;
 | 
			
		||||
	const char		 *style;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
/* Common command usages. */
 | 
			
		||||
@@ -1545,15 +1551,11 @@ struct options_entry *options_set_style(struct options *, const char *,
 | 
			
		||||
struct grid_cell *options_get_style(struct options *, const char *);
 | 
			
		||||
 | 
			
		||||
/* options-table.c */
 | 
			
		||||
extern const struct options_table_entry server_options_table[];
 | 
			
		||||
extern const struct options_table_entry session_options_table[];
 | 
			
		||||
extern const struct options_table_entry window_options_table[];
 | 
			
		||||
void	options_table_populate_tree(const struct options_table_entry *,
 | 
			
		||||
	    struct options *);
 | 
			
		||||
extern const struct options_table_entry options_table[];
 | 
			
		||||
void	options_table_populate_tree(enum options_table_scope, struct options *);
 | 
			
		||||
const char *options_table_print_entry(const struct options_table_entry *,
 | 
			
		||||
	    struct options_entry *, int);
 | 
			
		||||
int	options_table_find(const char *, const struct options_table_entry **,
 | 
			
		||||
	    const struct options_table_entry **);
 | 
			
		||||
int	options_table_find(const char *, const struct options_table_entry **);
 | 
			
		||||
 | 
			
		||||
/* job.c */
 | 
			
		||||
extern struct joblist all_jobs;
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user