Add "server options" which are server-wide and not bound to a session or

window. Set and displayed with "set -s" and "show -s".

Currently the only option is "quiet" (like command-line -q, allowing it to be
set from .tmux.conf), but others will come along.
This commit is contained in:
Nicholas Marriott
2009-12-10 09:16:52 +00:00
parent 6311bd119e
commit a4c9a80dac
8 changed files with 86 additions and 43 deletions

12
tmux.c
View File

@ -36,12 +36,12 @@ extern char *malloc_options;
#endif
char *cfg_file;
struct options global_options; /* server options */
struct options global_s_options; /* session options */
struct options global_w_options; /* window options */
struct environ global_environ;
int debug_level;
int be_quiet;
time_t start_time;
char *socket_path;
int login_shell;
@ -222,14 +222,14 @@ main(int argc, char **argv)
struct cmd *cmd;
enum msgtype msg;
struct passwd *pw;
struct options *so, *wo;
struct options *oo, *so, *wo;
struct keylist *keylist;
struct msg_command_data cmddata;
char *s, *shellcmd, *path, *label, *home, *cause;
char cwd[MAXPATHLEN], **var;
void *buf;
size_t len;
int opt, flags, cmdflags = 0;
int opt, flags, quiet, cmdflags = 0;
short events;
#ifdef DEBUG
@ -268,7 +268,7 @@ main(int argc, char **argv)
label = xstrdup(optarg);
break;
case 'q':
be_quiet = 1;
quiet = 1;
break;
case 'S':
if (path != NULL)
@ -314,6 +314,10 @@ main(int argc, char **argv)
for (var = environ; *var != NULL; var++)
environ_put(&global_environ, *var);
options_init(&global_options, NULL);
oo = &global_options;
options_set_number(oo, "quiet", 0);
options_init(&global_s_options, NULL);
so = &global_s_options;
options_set_number(so, "base-index", 0);