summaryrefslogtreecommitdiff
path: root/usr.bin/tmux/cmd-set-option.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@cvs.openbsd.org>2009-12-10 09:16:53 +0000
committerNicholas Marriott <nicm@cvs.openbsd.org>2009-12-10 09:16:53 +0000
commit864a9954f2f11f85ca75e63be11507fbb7a0290c (patch)
tree88d1c713c81ac99fccff4e2a382c0df66f3ab0f4 /usr.bin/tmux/cmd-set-option.c
parent6680a8a4fbf96310b997d48bfb3a92d99fe2efa5 (diff)
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.
Diffstat (limited to 'usr.bin/tmux/cmd-set-option.c')
-rw-r--r--usr.bin/tmux/cmd-set-option.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/usr.bin/tmux/cmd-set-option.c b/usr.bin/tmux/cmd-set-option.c
index 7ba726d3712..e5374ed2ce4 100644
--- a/usr.bin/tmux/cmd-set-option.c
+++ b/usr.bin/tmux/cmd-set-option.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cmd-set-option.c,v 1.28 2009/12/03 22:50:10 nicm Exp $ */
+/* $OpenBSD: cmd-set-option.c,v 1.29 2009/12/10 09:16:52 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -48,8 +48,8 @@ void cmd_set_option_choice(struct cmd_ctx *,
const struct cmd_entry cmd_set_option_entry = {
"set-option", "set",
- "[-aguw] [-t target-session|target-window] option [value]",
- CMD_ARG12, "aguw",
+ "[-agsuw] [-t target-session|target-window] option [value]",
+ CMD_ARG12, "agsuw",
NULL,
cmd_target_parse,
cmd_set_option_exec,
@@ -73,6 +73,10 @@ const char *set_option_bell_action_list[] = {
"none", "any", "current", NULL
};
+const struct set_option_entry set_option_table[] = {
+ { "quiet", SET_OPTION_FLAG, 0, 0, NULL },
+};
+
const struct set_option_entry set_session_option_table[] = {
{ "base-index", SET_OPTION_NUMBER, 0, INT_MAX, NULL },
{ "bell-action", SET_OPTION_CHOICE, 0, 0, set_option_bell_action_list },
@@ -172,7 +176,10 @@ cmd_set_option_exec(struct cmd *self, struct cmd_ctx *ctx)
u_int i;
int try_again;
- if (cmd_check_flag(data->chflags, 'w')) {
+ if (cmd_check_flag(data->chflags, 's')) {
+ oo = &global_options;
+ table = set_option_table;
+ } else if (cmd_check_flag(data->chflags, 'w')) {
table = set_window_option_table;
if (cmd_check_flag(data->chflags, 'g'))
oo = &global_w_options;