Annotation of src/usr.bin/tmux/options-table.c, Revision 1.138
1.138 ! nicm 1: /* $OpenBSD: options-table.c,v 1.137 2021/01/04 08:43:16 nicm Exp $ */
1.1 nicm 2:
3: /*
1.71 nicm 4: * Copyright (c) 2011 Nicholas Marriott <nicholas.marriott@gmail.com>
1.1 nicm 5: *
6: * Permission to use, copy, modify, and distribute this software for any
7: * purpose with or without fee is hereby granted, provided that the above
8: * copyright notice and this permission notice appear in all copies.
9: *
10: * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11: * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12: * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13: * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14: * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
15: * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
16: * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17: */
18:
19: #include <sys/types.h>
20:
21: #include <string.h>
22: #include <paths.h>
23:
24: #include "tmux.h"
25:
26: /*
27: * This file has a tables with all the server, session and window
28: * options. These tables are the master copy of the options with their real
29: * (user-visible) types, range limits and default values. At start these are
30: * copied into the runtime global options trees (which only has number and
1.49 nicm 31: * string types). These tables are then used to look up the real type when the
32: * user sets an option or its value needs to be shown.
1.1 nicm 33: */
34:
35: /* Choice option type lists. */
1.74 nicm 36: static const char *options_table_mode_keys_list[] = {
1.1 nicm 37: "emacs", "vi", NULL
38: };
1.74 nicm 39: static const char *options_table_clock_mode_style_list[] = {
1.1 nicm 40: "12", "24", NULL
41: };
1.99 nicm 42: static const char *options_table_status_list[] = {
43: "off", "on", "2", "3", "4", "5", NULL
44: };
1.74 nicm 45: static const char *options_table_status_keys_list[] = {
1.1 nicm 46: "emacs", "vi", NULL
47: };
1.74 nicm 48: static const char *options_table_status_justify_list[] = {
1.1 nicm 49: "left", "centre", "right", NULL
50: };
1.74 nicm 51: static const char *options_table_status_position_list[] = {
1.20 nicm 52: "top", "bottom", NULL
53: };
1.74 nicm 54: static const char *options_table_bell_action_list[] = {
1.59 nicm 55: "none", "any", "current", "other", NULL
1.1 nicm 56: };
1.91 nicm 57: static const char *options_table_visual_bell_list[] = {
58: "off", "on", "both", NULL
59: };
1.74 nicm 60: static const char *options_table_pane_status_list[] = {
1.72 nicm 61: "off", "top", "bottom", NULL
62: };
1.129 nicm 63: static const char *options_table_pane_lines_list[] = {
64: "single", "double", "heavy", "simple", "number", NULL
65: };
1.89 nicm 66: static const char *options_table_set_clipboard_list[] = {
67: "off", "external", "on", NULL
68: };
1.97 nicm 69: static const char *options_table_window_size_list[] = {
1.111 nicm 70: "largest", "smallest", "manual", "latest", NULL
1.97 nicm 71: };
1.137 nicm 72: static const char *options_table_remain_on_exit_list[] = {
73: "off", "on", "failed", NULL
74: };
1.1 nicm 75:
1.99 nicm 76: /* Status line format. */
77: #define OPTIONS_TABLE_STATUS_FORMAT1 \
78: "#[align=left range=left #{status-left-style}]" \
1.114 nicm 79: "#[push-default]" \
80: "#{T;=/#{status-left-length}:status-left}" \
81: "#[pop-default]" \
82: "#[norange default]" \
1.99 nicm 83: "#[list=on align=#{status-justify}]" \
84: "#[list=left-marker]<#[list=right-marker]>#[list=on]" \
85: "#{W:" \
1.101 nicm 86: "#[range=window|#{window_index} " \
87: "#{window-status-style}" \
88: "#{?#{&&:#{window_last_flag}," \
89: "#{!=:#{window-status-last-style},default}}, " \
90: "#{window-status-last-style}," \
91: "}" \
92: "#{?#{&&:#{window_bell_flag}," \
93: "#{!=:#{window-status-bell-style},default}}, " \
94: "#{window-status-bell-style}," \
1.102 nicm 95: "#{?#{&&:#{||:#{window_activity_flag}," \
96: "#{window_silence_flag}}," \
1.101 nicm 97: "#{!=:" \
98: "#{window-status-activity-style}," \
99: "default}}, " \
100: "#{window-status-activity-style}," \
1.99 nicm 101: "}" \
1.101 nicm 102: "}" \
1.99 nicm 103: "]" \
1.110 nicm 104: "#[push-default]" \
1.99 nicm 105: "#{T:window-status-format}" \
1.110 nicm 106: "#[pop-default]" \
1.99 nicm 107: "#[norange default]" \
108: "#{?window_end_flag,,#{window-status-separator}}" \
109: "," \
1.101 nicm 110: "#[range=window|#{window_index} list=focus " \
1.103 nicm 111: "#{?#{!=:#{window-status-current-style},default}," \
1.127 nicm 112: "#{window-status-current-style}," \
113: "#{window-status-style}" \
114: "}" \
1.101 nicm 115: "#{?#{&&:#{window_last_flag}," \
116: "#{!=:#{window-status-last-style},default}}, " \
117: "#{window-status-last-style}," \
118: "}" \
119: "#{?#{&&:#{window_bell_flag}," \
120: "#{!=:#{window-status-bell-style},default}}, " \
121: "#{window-status-bell-style}," \
1.102 nicm 122: "#{?#{&&:#{||:#{window_activity_flag}," \
123: "#{window_silence_flag}}," \
1.101 nicm 124: "#{!=:" \
125: "#{window-status-activity-style}," \
126: "default}}, " \
127: "#{window-status-activity-style}," \
1.99 nicm 128: "}" \
1.101 nicm 129: "}" \
1.99 nicm 130: "]" \
1.110 nicm 131: "#[push-default]" \
1.99 nicm 132: "#{T:window-status-current-format}" \
1.110 nicm 133: "#[pop-default]" \
1.99 nicm 134: "#[norange list=on default]" \
135: "#{?window_end_flag,,#{window-status-separator}}" \
136: "}" \
137: "#[nolist align=right range=right #{status-right-style}]" \
1.114 nicm 138: "#[push-default]" \
139: "#{T;=/#{status-right-length}:status-right}" \
140: "#[pop-default]" \
141: "#[norange default]"
1.99 nicm 142: #define OPTIONS_TABLE_STATUS_FORMAT2 \
143: "#[align=centre]#{P:#{?pane_active,#[reverse],}" \
144: "#{pane_index}[#{pane_width}x#{pane_height}]#[default] }"
145: static const char *options_table_status_format_default[] = {
146: OPTIONS_TABLE_STATUS_FORMAT1, OPTIONS_TABLE_STATUS_FORMAT2, NULL
147: };
148:
1.116 nicm 149: /* Helpers for hook options. */
1.105 nicm 150: #define OPTIONS_TABLE_HOOK(hook_name, default_value) \
151: { .name = hook_name, \
152: .type = OPTIONS_TABLE_COMMAND, \
153: .scope = OPTIONS_TABLE_SESSION, \
154: .flags = OPTIONS_TABLE_IS_ARRAY|OPTIONS_TABLE_IS_HOOK, \
155: .default_str = default_value, \
156: .separator = "" \
157: }
158:
1.116 nicm 159: #define OPTIONS_TABLE_PANE_HOOK(hook_name, default_value) \
160: { .name = hook_name, \
161: .type = OPTIONS_TABLE_COMMAND, \
162: .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE, \
163: .flags = OPTIONS_TABLE_IS_ARRAY|OPTIONS_TABLE_IS_HOOK, \
164: .default_str = default_value, \
165: .separator = "" \
166: }
167:
168: #define OPTIONS_TABLE_WINDOW_HOOK(hook_name, default_value) \
169: { .name = hook_name, \
170: .type = OPTIONS_TABLE_COMMAND, \
171: .scope = OPTIONS_TABLE_WINDOW, \
172: .flags = OPTIONS_TABLE_IS_ARRAY|OPTIONS_TABLE_IS_HOOK, \
173: .default_str = default_value, \
174: .separator = "" \
175: }
1.134 nicm 176:
177: /* Map of name conversions. */
178: const struct options_name_map options_other_names[] = {
179: { "display-panes-color", "display-panes-colour" },
180: { "display-panes-active-color", "display-panes-active-colour" },
181: { "clock-mode-color", "clock-mode-colour" },
182: { NULL, NULL }
183: };
1.116 nicm 184:
1.80 nicm 185: /* Top-level options. */
1.67 nicm 186: const struct options_table_entry options_table[] = {
1.105 nicm 187: /* Server options. */
1.112 nicm 188: { .name = "backspace",
189: .type = OPTIONS_TABLE_KEY,
190: .scope = OPTIONS_TABLE_SERVER,
191: .default_num = '\177',
1.127 nicm 192: .text = "The key to send for backspace."
1.112 nicm 193: },
194:
1.1 nicm 195: { .name = "buffer-limit",
196: .type = OPTIONS_TABLE_NUMBER,
1.67 nicm 197: .scope = OPTIONS_TABLE_SERVER,
1.1 nicm 198: .minimum = 1,
199: .maximum = INT_MAX,
1.127 nicm 200: .default_num = 50,
201: .text = "The maximum number of automatic buffers. "
202: "When this is reached, the oldest buffer is deleted."
1.83 nicm 203: },
204:
205: { .name = "command-alias",
1.104 nicm 206: .type = OPTIONS_TABLE_STRING,
1.83 nicm 207: .scope = OPTIONS_TABLE_SERVER,
1.104 nicm 208: .flags = OPTIONS_TABLE_IS_ARRAY,
1.83 nicm 209: .default_str = "split-pane=split-window,"
1.84 nicm 210: "splitp=split-window,"
211: "server-info=show-messages -JT,"
1.88 nicm 212: "info=show-messages -JT,"
213: "choose-window=choose-tree -w,"
214: "choose-session=choose-tree -s",
1.127 nicm 215: .separator = ",",
216: .text = "Array of command aliases. "
217: "Each entry is an alias and a command separated by '='."
1.117 nicm 218: },
219:
220: { .name = "copy-command",
221: .type = OPTIONS_TABLE_STRING,
222: .scope = OPTIONS_TABLE_SERVER,
1.127 nicm 223: .default_str = "",
224: .text = "Shell command run when text is copied. "
225: "If empty, no command is run."
1.81 nicm 226: },
227:
1.56 nicm 228: { .name = "default-terminal",
229: .type = OPTIONS_TABLE_STRING,
1.67 nicm 230: .scope = OPTIONS_TABLE_SERVER,
1.127 nicm 231: .default_str = "screen",
232: .text = "Default for the 'TERM' environment variable."
1.125 nicm 233: },
234:
235: { .name = "editor",
236: .type = OPTIONS_TABLE_STRING,
237: .scope = OPTIONS_TABLE_SERVER,
1.127 nicm 238: .default_str = _PATH_VI,
239: .text = "Editor run to edit files."
1.56 nicm 240: },
241:
1.1 nicm 242: { .name = "escape-time",
243: .type = OPTIONS_TABLE_NUMBER,
1.67 nicm 244: .scope = OPTIONS_TABLE_SERVER,
1.1 nicm 245: .minimum = 0,
246: .maximum = INT_MAX,
1.127 nicm 247: .default_num = 500,
248: .text = "Time to wait before assuming a key is Escape."
1.95 nicm 249: },
250:
251: { .name = "exit-empty",
252: .type = OPTIONS_TABLE_FLAG,
253: .scope = OPTIONS_TABLE_SERVER,
1.127 nicm 254: .default_num = 1,
255: .text = "Whether the server should exit if there are no sessions."
1.1 nicm 256: },
257:
258: { .name = "exit-unattached",
1.38 nicm 259: .type = OPTIONS_TABLE_FLAG,
1.67 nicm 260: .scope = OPTIONS_TABLE_SERVER,
1.127 nicm 261: .default_num = 0,
262: .text = "Whether the server should exit if there are no attached "
263: "clients."
1.131 nicm 264: },
265:
266: { .name = "extended-keys",
267: .type = OPTIONS_TABLE_FLAG,
268: .scope = OPTIONS_TABLE_SERVER,
269: .default_num = 0,
270: .text = "Whether to request extended key sequences from terminals "
271: "that support it."
1.38 nicm 272: },
273:
274: { .name = "focus-events",
1.1 nicm 275: .type = OPTIONS_TABLE_FLAG,
1.67 nicm 276: .scope = OPTIONS_TABLE_SERVER,
1.127 nicm 277: .default_num = 0,
278: .text = "Whether to send focus events to applications."
1.61 nicm 279: },
280:
281: { .name = "history-file",
282: .type = OPTIONS_TABLE_STRING,
1.67 nicm 283: .scope = OPTIONS_TABLE_SERVER,
1.127 nicm 284: .default_str = "",
285: .text = "Location of the command prompt history file. "
286: "Empty does not write a history file."
1.1 nicm 287: },
288:
1.46 nicm 289: { .name = "message-limit",
290: .type = OPTIONS_TABLE_NUMBER,
1.67 nicm 291: .scope = OPTIONS_TABLE_SERVER,
1.46 nicm 292: .minimum = 0,
293: .maximum = INT_MAX,
1.127 nicm 294: .default_num = 1000,
295: .text = "Maximum number of server messages to keep."
1.1 nicm 296: },
297:
1.8 nicm 298: { .name = "set-clipboard",
1.89 nicm 299: .type = OPTIONS_TABLE_CHOICE,
1.67 nicm 300: .scope = OPTIONS_TABLE_SERVER,
1.89 nicm 301: .choices = options_table_set_clipboard_list,
1.127 nicm 302: .default_num = 1,
303: .text = "Whether to attempt to set the system clipboard ('on' or "
304: "'external') and whether to allow applications to create "
305: "paste buffers with an escape sequence ('on' only)."
1.8 nicm 306: },
307:
1.45 nicm 308: { .name = "terminal-overrides",
1.104 nicm 309: .type = OPTIONS_TABLE_STRING,
1.67 nicm 310: .scope = OPTIONS_TABLE_SERVER,
1.104 nicm 311: .flags = OPTIONS_TABLE_IS_ARRAY,
1.122 nicm 312: .default_str = "",
1.127 nicm 313: .separator = ",",
314: .text = "List of terminal capabilities overrides."
1.118 nicm 315: },
316:
317: { .name = "terminal-features",
318: .type = OPTIONS_TABLE_STRING,
319: .scope = OPTIONS_TABLE_SERVER,
320: .flags = OPTIONS_TABLE_IS_ARRAY,
1.132 nicm 321: .default_str = "xterm*:clipboard:ccolour:cstyle:focus:title,"
1.127 nicm 322: "screen*:title",
323: .separator = ",",
324: .text = "List of terminal features, used if they cannot be "
325: "automatically detected."
1.90 nicm 326: },
327:
328: { .name = "user-keys",
1.104 nicm 329: .type = OPTIONS_TABLE_STRING,
1.90 nicm 330: .scope = OPTIONS_TABLE_SERVER,
1.104 nicm 331: .flags = OPTIONS_TABLE_IS_ARRAY,
1.90 nicm 332: .default_str = "",
1.127 nicm 333: .separator = ",",
334: .text = "User key assignments. "
335: "Each sequence in the list is translated into a key: "
336: "'User0', 'User1' and so on."
1.45 nicm 337: },
338:
1.105 nicm 339: /* Session options. */
1.91 nicm 340: { .name = "activity-action",
341: .type = OPTIONS_TABLE_CHOICE,
342: .scope = OPTIONS_TABLE_SESSION,
343: .choices = options_table_bell_action_list,
1.127 nicm 344: .default_num = ALERT_OTHER,
345: .text = "Action to take on an activity alert."
1.91 nicm 346: },
347:
1.31 nicm 348: { .name = "assume-paste-time",
349: .type = OPTIONS_TABLE_NUMBER,
1.67 nicm 350: .scope = OPTIONS_TABLE_SESSION,
1.31 nicm 351: .minimum = 0,
352: .maximum = INT_MAX,
353: .default_num = 1,
1.127 nicm 354: .unit = "milliseconds",
355: .text = "Maximum time between input to assume it pasting rather "
356: "than typing."
1.31 nicm 357: },
358:
1.1 nicm 359: { .name = "base-index",
360: .type = OPTIONS_TABLE_NUMBER,
1.67 nicm 361: .scope = OPTIONS_TABLE_SESSION,
1.1 nicm 362: .minimum = 0,
363: .maximum = INT_MAX,
1.127 nicm 364: .default_num = 0,
365: .text = "Default index of the first window in each session."
1.1 nicm 366: },
367:
368: { .name = "bell-action",
369: .type = OPTIONS_TABLE_CHOICE,
1.67 nicm 370: .scope = OPTIONS_TABLE_SESSION,
1.1 nicm 371: .choices = options_table_bell_action_list,
1.127 nicm 372: .default_num = ALERT_ANY,
373: .text = "Action to take on a bell alert."
1.11 nicm 374: },
375:
1.1 nicm 376: { .name = "default-command",
377: .type = OPTIONS_TABLE_STRING,
1.67 nicm 378: .scope = OPTIONS_TABLE_SESSION,
1.127 nicm 379: .default_str = "",
380: .text = "Default command to run in new panes. If empty, a shell is "
381: "started."
1.1 nicm 382: },
383:
384: { .name = "default-shell",
385: .type = OPTIONS_TABLE_STRING,
1.67 nicm 386: .scope = OPTIONS_TABLE_SESSION,
1.127 nicm 387: .default_str = _PATH_BSHELL,
388: .text = "Location of default shell."
1.1 nicm 389: },
390:
1.97 nicm 391: { .name = "default-size",
392: .type = OPTIONS_TABLE_STRING,
393: .scope = OPTIONS_TABLE_SESSION,
394: .pattern = "[0-9]*x[0-9]*",
1.127 nicm 395: .default_str = "80x24",
396: .text = "Initial size of new sessions."
1.97 nicm 397: },
398:
1.1 nicm 399: { .name = "destroy-unattached",
400: .type = OPTIONS_TABLE_FLAG,
1.67 nicm 401: .scope = OPTIONS_TABLE_SESSION,
1.127 nicm 402: .default_num = 0,
403: .text = "Whether to destroy sessions when they have no attached "
404: "clients."
1.1 nicm 405: },
406:
407: { .name = "detach-on-destroy",
408: .type = OPTIONS_TABLE_FLAG,
1.67 nicm 409: .scope = OPTIONS_TABLE_SESSION,
1.127 nicm 410: .default_num = 1,
411: .text = "Whether to detach when a session is destroyed, or switch "
412: "the client to another session if any exist."
1.1 nicm 413: },
414:
415: { .name = "display-panes-active-colour",
416: .type = OPTIONS_TABLE_COLOUR,
1.67 nicm 417: .scope = OPTIONS_TABLE_SESSION,
1.127 nicm 418: .default_num = 1,
419: .text = "Colour of the active pane for 'display-panes'."
1.1 nicm 420: },
421:
422: { .name = "display-panes-colour",
423: .type = OPTIONS_TABLE_COLOUR,
1.67 nicm 424: .scope = OPTIONS_TABLE_SESSION,
1.127 nicm 425: .default_num = 4,
426: .text = "Colour of not active panes for 'display-panes'."
1.1 nicm 427: },
428:
429: { .name = "display-panes-time",
430: .type = OPTIONS_TABLE_NUMBER,
1.67 nicm 431: .scope = OPTIONS_TABLE_SESSION,
1.1 nicm 432: .minimum = 1,
433: .maximum = INT_MAX,
1.127 nicm 434: .default_num = 1000,
435: .unit = "milliseconds",
436: .text = "Time for which 'display-panes' should show pane numbers."
1.1 nicm 437: },
438:
439: { .name = "display-time",
440: .type = OPTIONS_TABLE_NUMBER,
1.67 nicm 441: .scope = OPTIONS_TABLE_SESSION,
1.68 tim 442: .minimum = 0,
1.1 nicm 443: .maximum = INT_MAX,
1.127 nicm 444: .default_num = 750,
445: .unit = "milliseconds",
446: .text = "Time for which status line messages should appear."
1.1 nicm 447: },
448:
449: { .name = "history-limit",
450: .type = OPTIONS_TABLE_NUMBER,
1.67 nicm 451: .scope = OPTIONS_TABLE_SESSION,
1.1 nicm 452: .minimum = 0,
1.3 nicm 453: .maximum = INT_MAX,
1.127 nicm 454: .default_num = 2000,
455: .unit = "lines",
456: .text = "Maximum number of lines to keep in the history for each "
457: "pane. "
458: "If changed, the new value applies only to new panes."
1.70 nicm 459: },
460:
461: { .name = "key-table",
462: .type = OPTIONS_TABLE_STRING,
463: .scope = OPTIONS_TABLE_SESSION,
1.127 nicm 464: .default_str = "root",
465: .text = "Default key table. "
466: "Key presses are first looked up in this table."
1.1 nicm 467: },
468:
469: { .name = "lock-after-time",
470: .type = OPTIONS_TABLE_NUMBER,
1.67 nicm 471: .scope = OPTIONS_TABLE_SESSION,
1.1 nicm 472: .minimum = 0,
473: .maximum = INT_MAX,
1.127 nicm 474: .default_num = 0,
475: .unit = "seconds",
476: .text = "Time after which a client is locked if not used."
1.1 nicm 477: },
478:
479: { .name = "lock-command",
480: .type = OPTIONS_TABLE_STRING,
1.67 nicm 481: .scope = OPTIONS_TABLE_SESSION,
1.127 nicm 482: .default_str = "lock -np",
483: .text = "Shell command to run to lock a client."
1.1 nicm 484: },
485:
1.43 nicm 486: { .name = "message-command-style",
1.123 nicm 487: .type = OPTIONS_TABLE_STRING,
1.67 nicm 488: .scope = OPTIONS_TABLE_SESSION,
1.123 nicm 489: .default_str = "bg=black,fg=yellow",
490: .flags = OPTIONS_TABLE_IS_STYLE,
1.127 nicm 491: .separator = ",",
492: .text = "Style of the command prompt when in command mode, if "
493: "'mode-keys' is set to 'vi'."
1.1 nicm 494: },
495:
1.43 nicm 496: { .name = "message-style",
1.123 nicm 497: .type = OPTIONS_TABLE_STRING,
1.67 nicm 498: .scope = OPTIONS_TABLE_SESSION,
1.123 nicm 499: .default_str = "bg=yellow,fg=black",
500: .flags = OPTIONS_TABLE_IS_STYLE,
1.127 nicm 501: .separator = ",",
502: .text = "Style of the command prompt."
1.43 nicm 503: },
504:
1.55 nicm 505: { .name = "mouse",
1.1 nicm 506: .type = OPTIONS_TABLE_FLAG,
1.67 nicm 507: .scope = OPTIONS_TABLE_SESSION,
1.127 nicm 508: .default_num = 0,
509: .text = "Whether the mouse is recognised and mouse key bindings are "
510: "executed. "
511: "Applications inside panes can use the mouse even when 'off'."
1.1 nicm 512: },
513:
514: { .name = "prefix",
1.19 nicm 515: .type = OPTIONS_TABLE_KEY,
1.67 nicm 516: .scope = OPTIONS_TABLE_SESSION,
1.19 nicm 517: .default_num = '\002',
1.127 nicm 518: .text = "The prefix key."
1.19 nicm 519: },
520:
521: { .name = "prefix2",
522: .type = OPTIONS_TABLE_KEY,
1.67 nicm 523: .scope = OPTIONS_TABLE_SESSION,
1.19 nicm 524: .default_num = KEYC_NONE,
1.127 nicm 525: .text = "A second prefix key."
1.29 nicm 526: },
527:
528: { .name = "renumber-windows",
529: .type = OPTIONS_TABLE_FLAG,
1.67 nicm 530: .scope = OPTIONS_TABLE_SESSION,
1.127 nicm 531: .default_num = 0,
532: .text = "Whether windows are automatically renumbered rather than "
533: "leaving gaps."
1.1 nicm 534: },
535:
536: { .name = "repeat-time",
537: .type = OPTIONS_TABLE_NUMBER,
1.67 nicm 538: .scope = OPTIONS_TABLE_SESSION,
1.1 nicm 539: .minimum = 0,
540: .maximum = SHRT_MAX,
1.127 nicm 541: .default_num = 500,
542: .unit = "milliseconds",
543: .text = "Time to wait for a key binding to repeat, if it is bound "
544: "with the '-r' flag."
1.1 nicm 545: },
546:
547: { .name = "set-titles",
548: .type = OPTIONS_TABLE_FLAG,
1.67 nicm 549: .scope = OPTIONS_TABLE_SESSION,
1.127 nicm 550: .default_num = 0,
551: .text = "Whether to set the terminal title, if supported."
1.1 nicm 552: },
553:
554: { .name = "set-titles-string",
555: .type = OPTIONS_TABLE_STRING,
1.67 nicm 556: .scope = OPTIONS_TABLE_SESSION,
1.127 nicm 557: .default_str = "#S:#I:#W - \"#T\" #{session_alerts}",
558: .text = "Format of the terminal title to set."
1.1 nicm 559: },
560:
1.91 nicm 561: { .name = "silence-action",
562: .type = OPTIONS_TABLE_CHOICE,
563: .scope = OPTIONS_TABLE_SESSION,
564: .choices = options_table_bell_action_list,
1.127 nicm 565: .default_num = ALERT_OTHER,
566: .text = "Action to take on a silence alert."
1.91 nicm 567: },
568:
1.1 nicm 569: { .name = "status",
1.99 nicm 570: .type = OPTIONS_TABLE_CHOICE,
1.67 nicm 571: .scope = OPTIONS_TABLE_SESSION,
1.99 nicm 572: .choices = options_table_status_list,
1.127 nicm 573: .default_num = 1,
574: .text = "Number of lines in the status line."
1.1 nicm 575: },
576:
577: { .name = "status-bg",
578: .type = OPTIONS_TABLE_COLOUR,
1.67 nicm 579: .scope = OPTIONS_TABLE_SESSION,
1.123 nicm 580: .default_num = 8,
1.127 nicm 581: .text = "Background colour of the status line. This option is "
582: "deprecated, use 'status-style' instead."
1.1 nicm 583: },
584:
585: { .name = "status-fg",
586: .type = OPTIONS_TABLE_COLOUR,
1.67 nicm 587: .scope = OPTIONS_TABLE_SESSION,
1.123 nicm 588: .default_num = 8,
1.127 nicm 589: .text = "Foreground colour of the status line. This option is "
590: "deprecated, use 'status-style' instead."
1.99 nicm 591: },
592:
593: { .name = "status-format",
1.104 nicm 594: .type = OPTIONS_TABLE_STRING,
1.99 nicm 595: .scope = OPTIONS_TABLE_SESSION,
1.104 nicm 596: .flags = OPTIONS_TABLE_IS_ARRAY,
1.99 nicm 597: .default_arr = options_table_status_format_default,
1.127 nicm 598: .text = "Formats for the status lines. "
599: "Each array member is the format for one status line. "
600: "The default status line is made up of several components "
601: "which may be configured individually with other option such "
602: "as 'status-left'."
1.1 nicm 603: },
604:
605: { .name = "status-interval",
606: .type = OPTIONS_TABLE_NUMBER,
1.67 nicm 607: .scope = OPTIONS_TABLE_SESSION,
1.1 nicm 608: .minimum = 0,
609: .maximum = INT_MAX,
1.127 nicm 610: .default_num = 15,
611: .unit = "seconds",
612: .text = "Number of seconds between status line updates."
1.1 nicm 613: },
614:
615: { .name = "status-justify",
616: .type = OPTIONS_TABLE_CHOICE,
1.67 nicm 617: .scope = OPTIONS_TABLE_SESSION,
1.1 nicm 618: .choices = options_table_status_justify_list,
1.127 nicm 619: .default_num = 0,
620: .text = "Position of the window list in the status line."
1.1 nicm 621: },
622:
623: { .name = "status-keys",
624: .type = OPTIONS_TABLE_CHOICE,
1.67 nicm 625: .scope = OPTIONS_TABLE_SESSION,
1.1 nicm 626: .choices = options_table_status_keys_list,
1.127 nicm 627: .default_num = MODEKEY_EMACS,
628: .text = "Key set to use at the command prompt."
1.1 nicm 629: },
630:
631: { .name = "status-left",
632: .type = OPTIONS_TABLE_STRING,
1.67 nicm 633: .scope = OPTIONS_TABLE_SESSION,
1.127 nicm 634: .default_str = "[#{session_name}] ",
635: .text = "Contents of the left side of the status line."
1.1 nicm 636: },
637:
638: { .name = "status-left-length",
639: .type = OPTIONS_TABLE_NUMBER,
1.67 nicm 640: .scope = OPTIONS_TABLE_SESSION,
1.1 nicm 641: .minimum = 0,
642: .maximum = SHRT_MAX,
1.127 nicm 643: .default_num = 10,
644: .text = "Maximum width of the left side of the status line."
1.20 nicm 645: },
646:
1.43 nicm 647: { .name = "status-left-style",
1.123 nicm 648: .type = OPTIONS_TABLE_STRING,
1.67 nicm 649: .scope = OPTIONS_TABLE_SESSION,
1.123 nicm 650: .default_str = "default",
651: .flags = OPTIONS_TABLE_IS_STYLE,
1.127 nicm 652: .separator = ",",
653: .text = "Style of the left side of the status line."
1.43 nicm 654: },
655:
1.20 nicm 656: { .name = "status-position",
657: .type = OPTIONS_TABLE_CHOICE,
1.67 nicm 658: .scope = OPTIONS_TABLE_SESSION,
1.20 nicm 659: .choices = options_table_status_position_list,
1.127 nicm 660: .default_num = 1,
661: .text = "Position of the status line."
1.1 nicm 662: },
663:
664: { .name = "status-right",
665: .type = OPTIONS_TABLE_STRING,
1.67 nicm 666: .scope = OPTIONS_TABLE_SESSION,
1.97 nicm 667: .default_str = "#{?window_bigger,"
1.127 nicm 668: "[#{window_offset_x}#,#{window_offset_y}] ,}"
669: "\"#{=21:pane_title}\" %H:%M %d-%b-%y",
670: .text = "Contents of the right side of the status line."
671:
1.1 nicm 672: },
673:
674: { .name = "status-right-length",
675: .type = OPTIONS_TABLE_NUMBER,
1.67 nicm 676: .scope = OPTIONS_TABLE_SESSION,
1.1 nicm 677: .minimum = 0,
678: .maximum = SHRT_MAX,
1.127 nicm 679: .default_num = 40,
680: .text = "Maximum width of the right side of the status line."
1.1 nicm 681: },
682:
1.43 nicm 683: { .name = "status-right-style",
1.123 nicm 684: .type = OPTIONS_TABLE_STRING,
1.67 nicm 685: .scope = OPTIONS_TABLE_SESSION,
1.123 nicm 686: .default_str = "default",
687: .flags = OPTIONS_TABLE_IS_STYLE,
1.127 nicm 688: .separator = ",",
689: .text = "Style of the right side of the status line."
1.43 nicm 690: },
691:
692: { .name = "status-style",
1.123 nicm 693: .type = OPTIONS_TABLE_STRING,
1.67 nicm 694: .scope = OPTIONS_TABLE_SESSION,
1.123 nicm 695: .default_str = "bg=green,fg=black",
696: .flags = OPTIONS_TABLE_IS_STYLE,
1.127 nicm 697: .separator = ",",
698: .text = "Style of the status line."
1.43 nicm 699: },
700:
1.1 nicm 701: { .name = "update-environment",
1.104 nicm 702: .type = OPTIONS_TABLE_STRING,
1.67 nicm 703: .scope = OPTIONS_TABLE_SESSION,
1.104 nicm 704: .flags = OPTIONS_TABLE_IS_ARRAY,
1.96 nicm 705: .default_str = "DISPLAY KRB5CCNAME SSH_ASKPASS SSH_AUTH_SOCK "
1.127 nicm 706: "SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY",
707: .text = "List of environment variables to update in the session "
708: "environment when a client is attached."
1.1 nicm 709: },
710:
711: { .name = "visual-activity",
1.91 nicm 712: .type = OPTIONS_TABLE_CHOICE,
1.67 nicm 713: .scope = OPTIONS_TABLE_SESSION,
1.91 nicm 714: .choices = options_table_visual_bell_list,
1.127 nicm 715: .default_num = VISUAL_OFF,
716: .text = "How activity alerts should be shown: a message ('on'), "
717: "a message and a bell ('both') or nothing ('off')."
1.1 nicm 718: },
719:
720: { .name = "visual-bell",
1.91 nicm 721: .type = OPTIONS_TABLE_CHOICE,
1.67 nicm 722: .scope = OPTIONS_TABLE_SESSION,
1.91 nicm 723: .choices = options_table_visual_bell_list,
1.127 nicm 724: .default_num = VISUAL_OFF,
725: .text = "How bell alerts should be shown: a message ('on'), "
726: "a message and a bell ('both') or nothing ('off')."
1.1 nicm 727: },
728:
729: { .name = "visual-silence",
1.91 nicm 730: .type = OPTIONS_TABLE_CHOICE,
1.67 nicm 731: .scope = OPTIONS_TABLE_SESSION,
1.91 nicm 732: .choices = options_table_visual_bell_list,
1.127 nicm 733: .default_num = VISUAL_OFF,
734: .text = "How silence alerts should be shown: a message ('on'), "
735: "a message and a bell ('both') or nothing ('off')."
1.1 nicm 736: },
737:
1.16 nicm 738: { .name = "word-separators",
739: .type = OPTIONS_TABLE_STRING,
1.67 nicm 740: .scope = OPTIONS_TABLE_SESSION,
1.127 nicm 741: .default_str = " ",
742: .text = "Characters considered to separate words."
1.16 nicm 743: },
744:
1.105 nicm 745: /* Window options. */
1.1 nicm 746: { .name = "aggressive-resize",
747: .type = OPTIONS_TABLE_FLAG,
1.67 nicm 748: .scope = OPTIONS_TABLE_WINDOW,
1.127 nicm 749: .default_num = 0,
750: .text = "When 'window-size' is 'smallest', whether the maximum size "
751: "of a window is the smallest attached session where it is "
752: "the current window ('on') or the smallest session it is "
753: "linked to ('off')."
1.17 nicm 754: },
755:
756: { .name = "allow-rename",
757: .type = OPTIONS_TABLE_FLAG,
1.108 nicm 758: .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
1.127 nicm 759: .default_num = 0,
760: .text = "Whether applications are allowed to use the escape sequence "
761: "to rename windows."
1.1 nicm 762: },
763:
764: { .name = "alternate-screen",
765: .type = OPTIONS_TABLE_FLAG,
1.108 nicm 766: .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
1.127 nicm 767: .default_num = 1,
768: .text = "Whether applications are allowed to use the alternate "
769: "screen."
1.1 nicm 770: },
771:
772: { .name = "automatic-rename",
773: .type = OPTIONS_TABLE_FLAG,
1.67 nicm 774: .scope = OPTIONS_TABLE_WINDOW,
1.127 nicm 775: .default_num = 1,
776: .text = "Whether windows are automatically renamed."
1.41 nicm 777: },
778:
779: { .name = "automatic-rename-format",
780: .type = OPTIONS_TABLE_STRING,
1.67 nicm 781: .scope = OPTIONS_TABLE_WINDOW,
1.50 nicm 782: .default_str = "#{?pane_in_mode,[tmux],#{pane_current_command}}"
1.127 nicm 783: "#{?pane_dead,[dead],}",
784: .text = "Format used to automatically rename windows."
1.1 nicm 785: },
786:
787: { .name = "clock-mode-colour",
788: .type = OPTIONS_TABLE_COLOUR,
1.67 nicm 789: .scope = OPTIONS_TABLE_WINDOW,
1.127 nicm 790: .default_num = 4,
791: .text = "Colour of the clock in clock mode."
1.1 nicm 792: },
793:
794: { .name = "clock-mode-style",
795: .type = OPTIONS_TABLE_CHOICE,
1.67 nicm 796: .scope = OPTIONS_TABLE_WINDOW,
1.1 nicm 797: .choices = options_table_clock_mode_style_list,
1.127 nicm 798: .default_num = 1,
799: .text = "Time format of the clock in clock mode."
1.124 nicm 800: },
801:
802: { .name = "copy-mode-match-style",
803: .type = OPTIONS_TABLE_STRING,
804: .scope = OPTIONS_TABLE_WINDOW,
805: .default_str = "bg=cyan,fg=black",
806: .flags = OPTIONS_TABLE_IS_STYLE,
1.127 nicm 807: .separator = ",",
808: .text = "Style of search matches in copy mode."
1.124 nicm 809: },
810:
811: { .name = "copy-mode-current-match-style",
812: .type = OPTIONS_TABLE_STRING,
813: .scope = OPTIONS_TABLE_WINDOW,
814: .default_str = "bg=magenta,fg=black",
815: .flags = OPTIONS_TABLE_IS_STYLE,
1.127 nicm 816: .separator = ",",
817: .text = "Style of the current search match in copy mode."
1.128 nicm 818: },
819:
820: { .name = "copy-mode-mark-style",
821: .type = OPTIONS_TABLE_STRING,
822: .scope = OPTIONS_TABLE_WINDOW,
823: .default_str = "bg=red,fg=black",
824: .flags = OPTIONS_TABLE_IS_STYLE,
825: .separator = ",",
826: .text = "Style of the marked line in copy mode."
1.1 nicm 827: },
828:
829: { .name = "main-pane-height",
1.120 nicm 830: .type = OPTIONS_TABLE_STRING,
1.67 nicm 831: .scope = OPTIONS_TABLE_WINDOW,
1.127 nicm 832: .default_str = "24",
833: .text = "Height of the main pane in the 'main-horizontal' layout. "
834: "This may be a percentage, for example '10%'."
1.1 nicm 835: },
836:
837: { .name = "main-pane-width",
1.120 nicm 838: .type = OPTIONS_TABLE_STRING,
1.67 nicm 839: .scope = OPTIONS_TABLE_WINDOW,
1.127 nicm 840: .default_str = "80",
841: .text = "Width of the main pane in the 'main-vertical' layout. "
842: "This may be a percentage, for example '10%'."
1.1 nicm 843: },
844:
845: { .name = "mode-keys",
846: .type = OPTIONS_TABLE_CHOICE,
1.67 nicm 847: .scope = OPTIONS_TABLE_WINDOW,
1.1 nicm 848: .choices = options_table_mode_keys_list,
1.127 nicm 849: .default_num = MODEKEY_EMACS,
850: .text = "Key set used in copy mode."
1.1 nicm 851: },
852:
1.43 nicm 853: { .name = "mode-style",
1.123 nicm 854: .type = OPTIONS_TABLE_STRING,
1.67 nicm 855: .scope = OPTIONS_TABLE_WINDOW,
1.123 nicm 856: .default_str = "bg=yellow,fg=black",
857: .flags = OPTIONS_TABLE_IS_STYLE,
1.127 nicm 858: .separator = ",",
859: .text = "Style of indicators and highlighting in modes."
1.43 nicm 860: },
861:
1.1 nicm 862: { .name = "monitor-activity",
863: .type = OPTIONS_TABLE_FLAG,
1.67 nicm 864: .scope = OPTIONS_TABLE_WINDOW,
1.127 nicm 865: .default_num = 0,
866: .text = "Whether an alert is triggered by activity."
1.93 nicm 867: },
868:
869: { .name = "monitor-bell",
870: .type = OPTIONS_TABLE_FLAG,
871: .scope = OPTIONS_TABLE_WINDOW,
1.127 nicm 872: .default_num = 1,
873: .text = "Whether an alert is triggered by a bell."
1.1 nicm 874: },
875:
876: { .name = "monitor-silence",
877: .type = OPTIONS_TABLE_NUMBER,
1.67 nicm 878: .scope = OPTIONS_TABLE_WINDOW,
1.1 nicm 879: .minimum = 0,
880: .maximum = INT_MAX,
1.127 nicm 881: .default_num = 0,
882: .text = "Time after which an alert is triggered by silence. "
883: "Zero means no alert."
884:
1.1 nicm 885: },
886:
887: { .name = "other-pane-height",
1.120 nicm 888: .type = OPTIONS_TABLE_STRING,
1.67 nicm 889: .scope = OPTIONS_TABLE_WINDOW,
1.127 nicm 890: .default_str = "0",
891: .text = "Height of the other panes in the 'main-horizontal' layout. "
892: "This may be a percentage, for example '10%'."
1.1 nicm 893: },
894:
895: { .name = "other-pane-width",
1.120 nicm 896: .type = OPTIONS_TABLE_STRING,
1.67 nicm 897: .scope = OPTIONS_TABLE_WINDOW,
1.127 nicm 898: .default_str = "0",
899: .text = "Height of the other panes in the 'main-vertical' layout. "
900: "This may be a percentage, for example '10%'."
1.13 nicm 901: },
902:
1.53 nicm 903: { .name = "pane-active-border-style",
1.123 nicm 904: .type = OPTIONS_TABLE_STRING,
1.67 nicm 905: .scope = OPTIONS_TABLE_WINDOW,
1.123 nicm 906: .default_str = "#{?pane_in_mode,fg=yellow,#{?synchronize-panes,fg=red,fg=green}}",
907: .flags = OPTIONS_TABLE_IS_STYLE,
1.127 nicm 908: .separator = ",",
909: .text = "Style of the active pane border."
1.53 nicm 910: },
911:
1.13 nicm 912: { .name = "pane-base-index",
913: .type = OPTIONS_TABLE_NUMBER,
1.67 nicm 914: .scope = OPTIONS_TABLE_WINDOW,
1.13 nicm 915: .minimum = 0,
916: .maximum = USHRT_MAX,
1.127 nicm 917: .default_num = 0,
918: .text = "Index of the first pane in each window."
1.53 nicm 919: },
920:
1.72 nicm 921: { .name = "pane-border-format",
922: .type = OPTIONS_TABLE_STRING,
923: .scope = OPTIONS_TABLE_WINDOW,
1.73 nicm 924: .default_str = "#{?pane_active,#[reverse],}#{pane_index}#[default] "
1.127 nicm 925: "\"#{pane_title}\"",
926: .text = "Format of text in the pane status lines."
1.129 nicm 927: },
928:
929: { .name = "pane-border-lines",
930: .type = OPTIONS_TABLE_CHOICE,
931: .scope = OPTIONS_TABLE_WINDOW,
932: .choices = options_table_pane_lines_list,
933: .default_num = PANE_LINES_SINGLE,
934: .text = "Type of the pane type lines."
1.72 nicm 935: },
936:
937: { .name = "pane-border-status",
938: .type = OPTIONS_TABLE_CHOICE,
939: .scope = OPTIONS_TABLE_WINDOW,
940: .choices = options_table_pane_status_list,
1.127 nicm 941: .default_num = PANE_STATUS_OFF,
942: .text = "Position of the pane status lines."
1.53 nicm 943: },
944:
945: { .name = "pane-border-style",
1.123 nicm 946: .type = OPTIONS_TABLE_STRING,
1.67 nicm 947: .scope = OPTIONS_TABLE_WINDOW,
1.123 nicm 948: .default_str = "default",
949: .flags = OPTIONS_TABLE_IS_STYLE,
1.127 nicm 950: .separator = ",",
951: .text = "Style of the pane status lines."
1.22 nicm 952: },
953:
1.1 nicm 954: { .name = "remain-on-exit",
1.137 nicm 955: .type = OPTIONS_TABLE_CHOICE,
1.107 nicm 956: .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
1.137 nicm 957: .choices = options_table_remain_on_exit_list,
1.127 nicm 958: .default_num = 0,
959: .text = "Whether panes should remain ('on') or be automatically "
1.137 nicm 960: "killed ('off' or 'failed') when the program inside exits."
1.1 nicm 961: },
962:
963: { .name = "synchronize-panes",
964: .type = OPTIONS_TABLE_FLAG,
1.136 nicm 965: .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
1.127 nicm 966: .default_num = 0,
967: .text = "Whether typing should be sent to all panes simultaneously."
1.54 nicm 968: },
969:
970: { .name = "window-active-style",
1.123 nicm 971: .type = OPTIONS_TABLE_STRING,
1.107 nicm 972: .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
1.123 nicm 973: .default_str = "default",
974: .flags = OPTIONS_TABLE_IS_STYLE,
1.127 nicm 975: .separator = ",",
976: .text = "Default style of the active pane."
1.97 nicm 977: },
978:
979: { .name = "window-size",
980: .type = OPTIONS_TABLE_CHOICE,
981: .scope = OPTIONS_TABLE_WINDOW,
982: .choices = options_table_window_size_list,
1.127 nicm 983: .default_num = WINDOW_SIZE_LATEST,
984: .text = "How window size is calculated. "
985: "'latest' uses the size of the most recently used client, "
986: "'largest' the largest client, 'smallest' the smallest "
987: "client and 'manual' a size set by the 'resize-window' "
988: "command."
1.54 nicm 989: },
990:
991: { .name = "window-style",
1.123 nicm 992: .type = OPTIONS_TABLE_STRING,
1.107 nicm 993: .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
1.123 nicm 994: .default_str = "default",
995: .flags = OPTIONS_TABLE_IS_STYLE,
1.127 nicm 996: .separator = ",",
997: .text = "Default style of panes that are not the active pane."
1.1 nicm 998: },
999:
1.43 nicm 1000: { .name = "window-status-activity-style",
1.123 nicm 1001: .type = OPTIONS_TABLE_STRING,
1.67 nicm 1002: .scope = OPTIONS_TABLE_WINDOW,
1.123 nicm 1003: .default_str = "reverse",
1004: .flags = OPTIONS_TABLE_IS_STYLE,
1.127 nicm 1005: .separator = ",",
1006: .text = "Style of windows in the status line with an activity alert."
1.43 nicm 1007: },
1008:
1009: { .name = "window-status-bell-style",
1.123 nicm 1010: .type = OPTIONS_TABLE_STRING,
1.67 nicm 1011: .scope = OPTIONS_TABLE_WINDOW,
1.123 nicm 1012: .default_str = "reverse",
1013: .flags = OPTIONS_TABLE_IS_STYLE,
1.127 nicm 1014: .separator = ",",
1015: .text = "Style of windows in the status line with a bell alert."
1.43 nicm 1016: },
1017:
1.1 nicm 1018: { .name = "window-status-current-format",
1019: .type = OPTIONS_TABLE_STRING,
1.67 nicm 1020: .scope = OPTIONS_TABLE_WINDOW,
1.138 ! nicm 1021: .default_str = "#I:#W#{?window_flags,#{window_flags}, }",
1.127 nicm 1022: .text = "Format of the current window in the status line."
1.30 nicm 1023: },
1024:
1.43 nicm 1025: { .name = "window-status-current-style",
1.123 nicm 1026: .type = OPTIONS_TABLE_STRING,
1.67 nicm 1027: .scope = OPTIONS_TABLE_WINDOW,
1.123 nicm 1028: .default_str = "default",
1029: .flags = OPTIONS_TABLE_IS_STYLE,
1.127 nicm 1030: .separator = ",",
1031: .text = "Style of the current window in the status line."
1.43 nicm 1032: },
1033:
1034: { .name = "window-status-format",
1035: .type = OPTIONS_TABLE_STRING,
1.67 nicm 1036: .scope = OPTIONS_TABLE_WINDOW,
1.138 ! nicm 1037: .default_str = "#I:#W#{?window_flags,#{window_flags}, }",
1.127 nicm 1038: .text = "Format of windows in the status line, except the current "
1039: "window."
1.1 nicm 1040: },
1041:
1.43 nicm 1042: { .name = "window-status-last-style",
1.123 nicm 1043: .type = OPTIONS_TABLE_STRING,
1.67 nicm 1044: .scope = OPTIONS_TABLE_WINDOW,
1.123 nicm 1045: .default_str = "default",
1046: .flags = OPTIONS_TABLE_IS_STYLE,
1.127 nicm 1047: .separator = ",",
1048: .text = "Style of the last window in the status line."
1.1 nicm 1049: },
1050:
1.43 nicm 1051: { .name = "window-status-separator",
1.1 nicm 1052: .type = OPTIONS_TABLE_STRING,
1.67 nicm 1053: .scope = OPTIONS_TABLE_WINDOW,
1.127 nicm 1054: .default_str = " ",
1055: .text = "Separator between windows in the status line."
1.28 nicm 1056: },
1057:
1.43 nicm 1058: { .name = "window-status-style",
1.123 nicm 1059: .type = OPTIONS_TABLE_STRING,
1.67 nicm 1060: .scope = OPTIONS_TABLE_WINDOW,
1.123 nicm 1061: .default_str = "default",
1062: .flags = OPTIONS_TABLE_IS_STYLE,
1.127 nicm 1063: .separator = ",",
1064: .text = "Style of windows in the status line, except the current and "
1065: "last windows."
1.24 nicm 1066: },
1067:
1068: { .name = "wrap-search",
1069: .type = OPTIONS_TABLE_FLAG,
1.67 nicm 1070: .scope = OPTIONS_TABLE_WINDOW,
1.127 nicm 1071: .default_num = 1,
1072: .text = "Whether searching in copy mode should wrap at the top or "
1073: "bottom."
1.1 nicm 1074: },
1075:
1.130 nicm 1076: { .name = "xterm-keys", /* no longer used */
1.1 nicm 1077: .type = OPTIONS_TABLE_FLAG,
1.67 nicm 1078: .scope = OPTIONS_TABLE_WINDOW,
1.127 nicm 1079: .default_num = 1,
1.130 nicm 1080: .text = "Whether xterm-style function key sequences should be sent. "
1081: "This option is no longer used."
1.1 nicm 1082: },
1.105 nicm 1083:
1084: /* Hook options. */
1085: OPTIONS_TABLE_HOOK("after-bind-key", ""),
1086: OPTIONS_TABLE_HOOK("after-capture-pane", ""),
1087: OPTIONS_TABLE_HOOK("after-copy-mode", ""),
1088: OPTIONS_TABLE_HOOK("after-display-message", ""),
1089: OPTIONS_TABLE_HOOK("after-display-panes", ""),
1.115 nicm 1090: OPTIONS_TABLE_HOOK("after-kill-pane", ""),
1.105 nicm 1091: OPTIONS_TABLE_HOOK("after-list-buffers", ""),
1092: OPTIONS_TABLE_HOOK("after-list-clients", ""),
1093: OPTIONS_TABLE_HOOK("after-list-keys", ""),
1094: OPTIONS_TABLE_HOOK("after-list-panes", ""),
1095: OPTIONS_TABLE_HOOK("after-list-sessions", ""),
1096: OPTIONS_TABLE_HOOK("after-list-windows", ""),
1097: OPTIONS_TABLE_HOOK("after-load-buffer", ""),
1098: OPTIONS_TABLE_HOOK("after-lock-server", ""),
1099: OPTIONS_TABLE_HOOK("after-new-session", ""),
1100: OPTIONS_TABLE_HOOK("after-new-window", ""),
1101: OPTIONS_TABLE_HOOK("after-paste-buffer", ""),
1102: OPTIONS_TABLE_HOOK("after-pipe-pane", ""),
1103: OPTIONS_TABLE_HOOK("after-queue", ""),
1104: OPTIONS_TABLE_HOOK("after-refresh-client", ""),
1105: OPTIONS_TABLE_HOOK("after-rename-session", ""),
1106: OPTIONS_TABLE_HOOK("after-rename-window", ""),
1107: OPTIONS_TABLE_HOOK("after-resize-pane", ""),
1108: OPTIONS_TABLE_HOOK("after-resize-window", ""),
1109: OPTIONS_TABLE_HOOK("after-save-buffer", ""),
1110: OPTIONS_TABLE_HOOK("after-select-layout", ""),
1111: OPTIONS_TABLE_HOOK("after-select-pane", ""),
1112: OPTIONS_TABLE_HOOK("after-select-window", ""),
1113: OPTIONS_TABLE_HOOK("after-send-keys", ""),
1114: OPTIONS_TABLE_HOOK("after-set-buffer", ""),
1115: OPTIONS_TABLE_HOOK("after-set-environment", ""),
1116: OPTIONS_TABLE_HOOK("after-set-hook", ""),
1117: OPTIONS_TABLE_HOOK("after-set-option", ""),
1118: OPTIONS_TABLE_HOOK("after-show-environment", ""),
1119: OPTIONS_TABLE_HOOK("after-show-messages", ""),
1120: OPTIONS_TABLE_HOOK("after-show-options", ""),
1121: OPTIONS_TABLE_HOOK("after-split-window", ""),
1122: OPTIONS_TABLE_HOOK("after-unbind-key", ""),
1123: OPTIONS_TABLE_HOOK("alert-activity", ""),
1124: OPTIONS_TABLE_HOOK("alert-bell", ""),
1125: OPTIONS_TABLE_HOOK("alert-silence", ""),
1126: OPTIONS_TABLE_HOOK("client-attached", ""),
1127: OPTIONS_TABLE_HOOK("client-detached", ""),
1128: OPTIONS_TABLE_HOOK("client-resized", ""),
1129: OPTIONS_TABLE_HOOK("client-session-changed", ""),
1.116 nicm 1130: OPTIONS_TABLE_PANE_HOOK("pane-died", ""),
1131: OPTIONS_TABLE_PANE_HOOK("pane-exited", ""),
1132: OPTIONS_TABLE_PANE_HOOK("pane-focus-in", ""),
1133: OPTIONS_TABLE_PANE_HOOK("pane-focus-out", ""),
1134: OPTIONS_TABLE_PANE_HOOK("pane-mode-changed", ""),
1135: OPTIONS_TABLE_PANE_HOOK("pane-set-clipboard", ""),
1.133 nicm 1136: OPTIONS_TABLE_PANE_HOOK("pane-title-changed", ""),
1.105 nicm 1137: OPTIONS_TABLE_HOOK("session-closed", ""),
1138: OPTIONS_TABLE_HOOK("session-created", ""),
1139: OPTIONS_TABLE_HOOK("session-renamed", ""),
1140: OPTIONS_TABLE_HOOK("session-window-changed", ""),
1.116 nicm 1141: OPTIONS_TABLE_WINDOW_HOOK("window-layout-changed", ""),
1142: OPTIONS_TABLE_WINDOW_HOOK("window-linked", ""),
1143: OPTIONS_TABLE_WINDOW_HOOK("window-pane-changed", ""),
1144: OPTIONS_TABLE_WINDOW_HOOK("window-renamed", ""),
1145: OPTIONS_TABLE_WINDOW_HOOK("window-unlinked", ""),
1.1 nicm 1146:
1147: { .name = NULL }
1148: };