xref: /netbsd-src/external/bsd/tmux/dist/options-table.c (revision 796c32c94f6e154afc9de0f63da35c91bb739b45)
1 /* $OpenBSD$ */
2 
3 /*
4  * Copyright (c) 2011 Nicholas Marriott <nicholas.marriott@gmail.com>
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 
23 #include "tmux.h"
24 
25 /*
26  * This file has a tables with all the server, session and window
27  * options. These tables are the master copy of the options with their real
28  * (user-visible) types, range limits and default values. At start these are
29  * copied into the runtime global options trees (which only has number and
30  * string types). These tables are then used to look up the real type when the
31  * user sets an option or its value needs to be shown.
32  */
33 
34 /* Choice option type lists. */
35 static const char *options_table_mode_keys_list[] = {
36 	"emacs", "vi", NULL
37 };
38 static const char *options_table_clock_mode_style_list[] = {
39 	"12", "24", NULL
40 };
41 static const char *options_table_status_keys_list[] = {
42 	"emacs", "vi", NULL
43 };
44 static const char *options_table_status_justify_list[] = {
45 	"left", "centre", "right", NULL
46 };
47 static const char *options_table_status_position_list[] = {
48 	"top", "bottom", NULL
49 };
50 static const char *options_table_bell_action_list[] = {
51 	"none", "any", "current", "other", NULL
52 };
53 static const char *options_table_visual_bell_list[] = {
54 	"off", "on", "both", NULL
55 };
56 static const char *options_table_pane_status_list[] = {
57 	"off", "top", "bottom", NULL
58 };
59 static const char *options_table_set_clipboard_list[] = {
60 	"off", "external", "on", NULL
61 };
62 
63 /* Top-level options. */
64 const struct options_table_entry options_table[] = {
65 	{ .name = "buffer-limit",
66 	  .type = OPTIONS_TABLE_NUMBER,
67 	  .scope = OPTIONS_TABLE_SERVER,
68 	  .minimum = 1,
69 	  .maximum = INT_MAX,
70 	  .default_num = 50
71 	},
72 
73 	{ .name = "command-alias",
74 	  .type = OPTIONS_TABLE_ARRAY,
75 	  .scope = OPTIONS_TABLE_SERVER,
76 	  .default_str = "split-pane=split-window,"
77 			 "splitp=split-window,"
78 			 "server-info=show-messages -JT,"
79 			 "info=show-messages -JT,"
80 			 "choose-window=choose-tree -w,"
81 			 "choose-session=choose-tree -s",
82 	  .separator = ","
83 	},
84 
85 	{ .name = "default-terminal",
86 	  .type = OPTIONS_TABLE_STRING,
87 	  .scope = OPTIONS_TABLE_SERVER,
88 	  .default_str = "screen"
89 	},
90 
91 	{ .name = "escape-time",
92 	  .type = OPTIONS_TABLE_NUMBER,
93 	  .scope = OPTIONS_TABLE_SERVER,
94 	  .minimum = 0,
95 	  .maximum = INT_MAX,
96 	  .default_num = 500
97 	},
98 
99 	{ .name = "exit-unattached",
100 	  .type = OPTIONS_TABLE_FLAG,
101 	  .scope = OPTIONS_TABLE_SERVER,
102 	  .default_num = 0
103 	},
104 
105 	{ .name = "focus-events",
106 	  .type = OPTIONS_TABLE_FLAG,
107 	  .scope = OPTIONS_TABLE_SERVER,
108 	  .default_num = 0
109 	},
110 
111 	{ .name = "history-file",
112 	  .type = OPTIONS_TABLE_STRING,
113 	  .scope = OPTIONS_TABLE_SERVER,
114 	  .default_str = ""
115 	},
116 
117 	{ .name = "message-limit",
118 	  .type = OPTIONS_TABLE_NUMBER,
119 	  .scope = OPTIONS_TABLE_SERVER,
120 	  .minimum = 0,
121 	  .maximum = INT_MAX,
122 	  .default_num = 100
123 	},
124 
125 	{ .name = "set-clipboard",
126 	  .type = OPTIONS_TABLE_CHOICE,
127 	  .scope = OPTIONS_TABLE_SERVER,
128 	  .choices = options_table_set_clipboard_list,
129 	  .default_num = 1
130 	},
131 
132 	{ .name = "terminal-overrides",
133 	  .type = OPTIONS_TABLE_ARRAY,
134 	  .scope = OPTIONS_TABLE_SERVER,
135 	  .default_str = "xterm*:XT:Ms=\\E]52;%p1%s;%p2%s\\007"
136 			 ":Cs=\\E]12;%p1%s\\007:Cr=\\E]112\\007"
137 			 ":Ss=\\E[%p1%d q:Se=\\E[2 q,screen*:XT",
138 	  .separator = ","
139 	},
140 
141 	{ .name = "user-keys",
142 	  .type = OPTIONS_TABLE_ARRAY,
143 	  .scope = OPTIONS_TABLE_SERVER,
144 	  .default_str = "",
145 	  .separator = ","
146 	},
147 
148 	{ .name = "activity-action",
149 	  .type = OPTIONS_TABLE_CHOICE,
150 	  .scope = OPTIONS_TABLE_SESSION,
151 	  .choices = options_table_bell_action_list,
152 	  .default_num = ALERT_OTHER
153 	},
154 
155 	{ .name = "assume-paste-time",
156 	  .type = OPTIONS_TABLE_NUMBER,
157 	  .scope = OPTIONS_TABLE_SESSION,
158 	  .minimum = 0,
159 	  .maximum = INT_MAX,
160 	  .default_num = 1,
161 	},
162 
163 	{ .name = "base-index",
164 	  .type = OPTIONS_TABLE_NUMBER,
165 	  .scope = OPTIONS_TABLE_SESSION,
166 	  .minimum = 0,
167 	  .maximum = INT_MAX,
168 	  .default_num = 0
169 	},
170 
171 	{ .name = "bell-action",
172 	  .type = OPTIONS_TABLE_CHOICE,
173 	  .scope = OPTIONS_TABLE_SESSION,
174 	  .choices = options_table_bell_action_list,
175 	  .default_num = ALERT_ANY
176 	},
177 
178 	{ .name = "default-command",
179 	  .type = OPTIONS_TABLE_STRING,
180 	  .scope = OPTIONS_TABLE_SESSION,
181 	  .default_str = ""
182 	},
183 
184 	{ .name = "default-shell",
185 	  .type = OPTIONS_TABLE_STRING,
186 	  .scope = OPTIONS_TABLE_SESSION,
187 	  .default_str = _PATH_BSHELL
188 	},
189 
190 	{ .name = "destroy-unattached",
191 	  .type = OPTIONS_TABLE_FLAG,
192 	  .scope = OPTIONS_TABLE_SESSION,
193 	  .default_num = 0
194 	},
195 
196 	{ .name = "detach-on-destroy",
197 	  .type = OPTIONS_TABLE_FLAG,
198 	  .scope = OPTIONS_TABLE_SESSION,
199 	  .default_num = 1
200 	},
201 
202 	{ .name = "display-panes-active-colour",
203 	  .type = OPTIONS_TABLE_COLOUR,
204 	  .scope = OPTIONS_TABLE_SESSION,
205 	  .default_num = 1
206 	},
207 
208 	{ .name = "display-panes-colour",
209 	  .type = OPTIONS_TABLE_COLOUR,
210 	  .scope = OPTIONS_TABLE_SESSION,
211 	  .default_num = 4
212 	},
213 
214 	{ .name = "display-panes-time",
215 	  .type = OPTIONS_TABLE_NUMBER,
216 	  .scope = OPTIONS_TABLE_SESSION,
217 	  .minimum = 1,
218 	  .maximum = INT_MAX,
219 	  .default_num = 1000
220 	},
221 
222 	{ .name = "display-time",
223 	  .type = OPTIONS_TABLE_NUMBER,
224 	  .scope = OPTIONS_TABLE_SESSION,
225 	  .minimum = 0,
226 	  .maximum = INT_MAX,
227 	  .default_num = 750
228 	},
229 
230 	{ .name = "history-limit",
231 	  .type = OPTIONS_TABLE_NUMBER,
232 	  .scope = OPTIONS_TABLE_SESSION,
233 	  .minimum = 0,
234 	  .maximum = INT_MAX,
235 	  .default_num = 2000
236 	},
237 
238 	{ .name = "key-table",
239 	  .type = OPTIONS_TABLE_STRING,
240 	  .scope = OPTIONS_TABLE_SESSION,
241 	  .default_str = "root"
242 	},
243 
244 	{ .name = "lock-after-time",
245 	  .type = OPTIONS_TABLE_NUMBER,
246 	  .scope = OPTIONS_TABLE_SESSION,
247 	  .minimum = 0,
248 	  .maximum = INT_MAX,
249 	  .default_num = 0
250 	},
251 
252 	{ .name = "lock-command",
253 	  .type = OPTIONS_TABLE_STRING,
254 	  .scope = OPTIONS_TABLE_SESSION,
255 	  .default_str = "lock -np"
256 	},
257 
258 	{ .name = "message-attr",
259 	  .type = OPTIONS_TABLE_ATTRIBUTES,
260 	  .scope = OPTIONS_TABLE_SESSION,
261 	  .default_num = 0,
262 	  .style = "message-style"
263 	},
264 
265 	{ .name = "message-bg",
266 	  .type = OPTIONS_TABLE_COLOUR,
267 	  .scope = OPTIONS_TABLE_SESSION,
268 	  .default_num = 3,
269 	  .style = "message-style"
270 	},
271 
272 	{ .name = "message-command-attr",
273 	  .type = OPTIONS_TABLE_ATTRIBUTES,
274 	  .scope = OPTIONS_TABLE_SESSION,
275 	  .default_num = 0,
276 	  .style = "message-command-style"
277 	},
278 
279 	{ .name = "message-command-bg",
280 	  .type = OPTIONS_TABLE_COLOUR,
281 	  .scope = OPTIONS_TABLE_SESSION,
282 	  .default_num = 0,
283 	  .style = "message-command-style"
284 	},
285 
286 	{ .name = "message-command-fg",
287 	  .type = OPTIONS_TABLE_COLOUR,
288 	  .scope = OPTIONS_TABLE_SESSION,
289 	  .default_num = 3,
290 	  .style = "message-command-style"
291 	},
292 
293 	{ .name = "message-command-style",
294 	  .type = OPTIONS_TABLE_STYLE,
295 	  .scope = OPTIONS_TABLE_SESSION,
296 	  .default_str = "bg=black,fg=yellow"
297 	},
298 
299 	{ .name = "message-fg",
300 	  .type = OPTIONS_TABLE_COLOUR,
301 	  .scope = OPTIONS_TABLE_SESSION,
302 	  .default_num = 0,
303 	  .style = "message-style"
304 	},
305 
306 	{ .name = "message-style",
307 	  .type = OPTIONS_TABLE_STYLE,
308 	  .scope = OPTIONS_TABLE_SESSION,
309 	  .default_str = "bg=yellow,fg=black"
310 	},
311 
312 	{ .name = "mouse",
313 	  .type = OPTIONS_TABLE_FLAG,
314 	  .scope = OPTIONS_TABLE_SESSION,
315 	  .default_num = 0
316 	},
317 
318 	{ .name = "prefix",
319 	  .type = OPTIONS_TABLE_KEY,
320 	  .scope = OPTIONS_TABLE_SESSION,
321 	  .default_num = '\002',
322 	},
323 
324 	{ .name = "prefix2",
325 	  .type = OPTIONS_TABLE_KEY,
326 	  .scope = OPTIONS_TABLE_SESSION,
327 	  .default_num = KEYC_NONE,
328 	},
329 
330 	{ .name = "renumber-windows",
331 	  .type = OPTIONS_TABLE_FLAG,
332 	  .scope = OPTIONS_TABLE_SESSION,
333 	  .default_num = 0
334 	},
335 
336 	{ .name = "repeat-time",
337 	  .type = OPTIONS_TABLE_NUMBER,
338 	  .scope = OPTIONS_TABLE_SESSION,
339 	  .minimum = 0,
340 	  .maximum = SHRT_MAX,
341 	  .default_num = 500
342 	},
343 
344 	{ .name = "set-titles",
345 	  .type = OPTIONS_TABLE_FLAG,
346 	  .scope = OPTIONS_TABLE_SESSION,
347 	  .default_num = 0
348 	},
349 
350 	{ .name = "set-titles-string",
351 	  .type = OPTIONS_TABLE_STRING,
352 	  .scope = OPTIONS_TABLE_SESSION,
353 	  .default_str = "#S:#I:#W - \"#T\" #{session_alerts}"
354 	},
355 
356 	{ .name = "silence-action",
357 	  .type = OPTIONS_TABLE_CHOICE,
358 	  .scope = OPTIONS_TABLE_SESSION,
359 	  .choices = options_table_bell_action_list,
360 	  .default_num = ALERT_OTHER
361 	},
362 
363 	{ .name = "status",
364 	  .type = OPTIONS_TABLE_FLAG,
365 	  .scope = OPTIONS_TABLE_SESSION,
366 	  .default_num = 1
367 	},
368 
369 	{ .name = "status-attr",
370 	  .type = OPTIONS_TABLE_ATTRIBUTES,
371 	  .scope = OPTIONS_TABLE_SESSION,
372 	  .default_num = 0,
373 	  .style = "status-style"
374 	},
375 
376 	{ .name = "status-bg",
377 	  .type = OPTIONS_TABLE_COLOUR,
378 	  .scope = OPTIONS_TABLE_SESSION,
379 	  .default_num = 2,
380 	  .style = "status-style"
381 	},
382 
383 	{ .name = "status-fg",
384 	  .type = OPTIONS_TABLE_COLOUR,
385 	  .scope = OPTIONS_TABLE_SESSION,
386 	  .default_num = 0,
387 	  .style = "status-style"
388 	},
389 
390 	{ .name = "status-interval",
391 	  .type = OPTIONS_TABLE_NUMBER,
392 	  .scope = OPTIONS_TABLE_SESSION,
393 	  .minimum = 0,
394 	  .maximum = INT_MAX,
395 	  .default_num = 15
396 	},
397 
398 	{ .name = "status-justify",
399 	  .type = OPTIONS_TABLE_CHOICE,
400 	  .scope = OPTIONS_TABLE_SESSION,
401 	  .choices = options_table_status_justify_list,
402 	  .default_num = 0
403 	},
404 
405 	{ .name = "status-keys",
406 	  .type = OPTIONS_TABLE_CHOICE,
407 	  .scope = OPTIONS_TABLE_SESSION,
408 	  .choices = options_table_status_keys_list,
409 	  .default_num = MODEKEY_EMACS
410 	},
411 
412 	{ .name = "status-left",
413 	  .type = OPTIONS_TABLE_STRING,
414 	  .scope = OPTIONS_TABLE_SESSION,
415 	  .default_str = "[#S] "
416 	},
417 
418 	{ .name = "status-left-attr",
419 	  .type = OPTIONS_TABLE_ATTRIBUTES,
420 	  .scope = OPTIONS_TABLE_SESSION,
421 	  .default_num = 0,
422 	  .style = "status-left-style"
423 	},
424 
425 	{ .name = "status-left-bg",
426 	  .type = OPTIONS_TABLE_COLOUR,
427 	  .scope = OPTIONS_TABLE_SESSION,
428 	  .default_num = 8,
429 	  .style = "status-left-style"
430 	},
431 
432 	{ .name = "status-left-fg",
433 	  .type = OPTIONS_TABLE_COLOUR,
434 	  .scope = OPTIONS_TABLE_SESSION,
435 	  .default_num = 8,
436 	  .style = "status-left-style"
437 	},
438 
439 	{ .name = "status-left-length",
440 	  .type = OPTIONS_TABLE_NUMBER,
441 	  .scope = OPTIONS_TABLE_SESSION,
442 	  .minimum = 0,
443 	  .maximum = SHRT_MAX,
444 	  .default_num = 10
445 	},
446 
447 	{ .name = "status-left-style",
448 	  .type = OPTIONS_TABLE_STYLE,
449 	  .scope = OPTIONS_TABLE_SESSION,
450 	  .default_str = "default"
451 	},
452 
453 	{ .name = "status-position",
454 	  .type = OPTIONS_TABLE_CHOICE,
455 	  .scope = OPTIONS_TABLE_SESSION,
456 	  .choices = options_table_status_position_list,
457 	  .default_num = 1
458 	},
459 
460 	{ .name = "status-right",
461 	  .type = OPTIONS_TABLE_STRING,
462 	  .scope = OPTIONS_TABLE_SESSION,
463 	  .default_str = " \"#{=21:pane_title}\" %H:%M %d-%b-%y"
464 	},
465 
466 	{ .name = "status-right-attr",
467 	  .type = OPTIONS_TABLE_ATTRIBUTES,
468 	  .scope = OPTIONS_TABLE_SESSION,
469 	  .default_num = 0,
470 	  .style = "status-right-style"
471 	},
472 
473 	{ .name = "status-right-bg",
474 	  .type = OPTIONS_TABLE_COLOUR,
475 	  .scope = OPTIONS_TABLE_SESSION,
476 	  .default_num = 8,
477 	  .style = "status-right-style"
478 	},
479 
480 	{ .name = "status-right-fg",
481 	  .type = OPTIONS_TABLE_COLOUR,
482 	  .scope = OPTIONS_TABLE_SESSION,
483 	  .default_num = 8,
484 	  .style = "status-right-style"
485 	},
486 
487 	{ .name = "status-right-length",
488 	  .type = OPTIONS_TABLE_NUMBER,
489 	  .scope = OPTIONS_TABLE_SESSION,
490 	  .minimum = 0,
491 	  .maximum = SHRT_MAX,
492 	  .default_num = 40
493 	},
494 
495 	{ .name = "status-right-style",
496 	  .type = OPTIONS_TABLE_STYLE,
497 	  .scope = OPTIONS_TABLE_SESSION,
498 	  .default_str = "default"
499 	},
500 
501 	{ .name = "status-style",
502 	  .type = OPTIONS_TABLE_STYLE,
503 	  .scope = OPTIONS_TABLE_SESSION,
504 	  .default_str = "bg=green,fg=black"
505 	},
506 
507 	{ .name = "update-environment",
508 	  .type = OPTIONS_TABLE_ARRAY,
509 	  .scope = OPTIONS_TABLE_SESSION,
510 	  .default_str = "DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID "
511 			 "SSH_CONNECTION WINDOWID XAUTHORITY"
512 	},
513 
514 	{ .name = "visual-activity",
515 	  .type = OPTIONS_TABLE_CHOICE,
516 	  .scope = OPTIONS_TABLE_SESSION,
517 	  .choices = options_table_visual_bell_list,
518 	  .default_num = VISUAL_OFF
519 	},
520 
521 	{ .name = "visual-bell",
522 	  .type = OPTIONS_TABLE_CHOICE,
523 	  .scope = OPTIONS_TABLE_SESSION,
524 	  .choices = options_table_visual_bell_list,
525 	  .default_num = VISUAL_OFF
526 	},
527 
528 	{ .name = "visual-silence",
529 	  .type = OPTIONS_TABLE_CHOICE,
530 	  .scope = OPTIONS_TABLE_SESSION,
531 	  .choices = options_table_visual_bell_list,
532 	  .default_num = VISUAL_OFF
533 	},
534 
535 	{ .name = "word-separators",
536 	  .type = OPTIONS_TABLE_STRING,
537 	  .scope = OPTIONS_TABLE_SESSION,
538 	  .default_str = " -_@"
539 	},
540 
541 	{ .name = "aggressive-resize",
542 	  .type = OPTIONS_TABLE_FLAG,
543 	  .scope = OPTIONS_TABLE_WINDOW,
544 	  .default_num = 0
545 	},
546 
547 	{ .name = "allow-rename",
548 	  .type = OPTIONS_TABLE_FLAG,
549 	  .scope = OPTIONS_TABLE_WINDOW,
550 	  .default_num = 1
551 	},
552 
553 	{ .name = "alternate-screen",
554 	  .type = OPTIONS_TABLE_FLAG,
555 	  .scope = OPTIONS_TABLE_WINDOW,
556 	  .default_num = 1
557 	},
558 
559 	{ .name = "automatic-rename",
560 	  .type = OPTIONS_TABLE_FLAG,
561 	  .scope = OPTIONS_TABLE_WINDOW,
562 	  .default_num = 1
563 	},
564 
565 	{ .name = "automatic-rename-format",
566 	  .type = OPTIONS_TABLE_STRING,
567 	  .scope = OPTIONS_TABLE_WINDOW,
568 	  .default_str = "#{?pane_in_mode,[tmux],#{pane_current_command}}"
569 			 "#{?pane_dead,[dead],}"
570 	},
571 
572 	{ .name = "clock-mode-colour",
573 	  .type = OPTIONS_TABLE_COLOUR,
574 	  .scope = OPTIONS_TABLE_WINDOW,
575 	  .default_num = 4
576 	},
577 
578 	{ .name = "clock-mode-style",
579 	  .type = OPTIONS_TABLE_CHOICE,
580 	  .scope = OPTIONS_TABLE_WINDOW,
581 	  .choices = options_table_clock_mode_style_list,
582 	  .default_num = 1
583 	},
584 
585 	{ .name = "force-height",
586 	  .type = OPTIONS_TABLE_NUMBER,
587 	  .scope = OPTIONS_TABLE_WINDOW,
588 	  .minimum = 0,
589 	  .maximum = INT_MAX,
590 	  .default_num = 0
591 	},
592 
593 	{ .name = "force-width",
594 	  .type = OPTIONS_TABLE_NUMBER,
595 	  .scope = OPTIONS_TABLE_WINDOW,
596 	  .minimum = 0,
597 	  .maximum = INT_MAX,
598 	  .default_num = 0
599 	},
600 
601 	{ .name = "main-pane-height",
602 	  .type = OPTIONS_TABLE_NUMBER,
603 	  .scope = OPTIONS_TABLE_WINDOW,
604 	  .minimum = 1,
605 	  .maximum = INT_MAX,
606 	  .default_num = 24
607 	},
608 
609 	{ .name = "main-pane-width",
610 	  .type = OPTIONS_TABLE_NUMBER,
611 	  .scope = OPTIONS_TABLE_WINDOW,
612 	  .minimum = 1,
613 	  .maximum = INT_MAX,
614 	  .default_num = 80
615 	},
616 
617 	{ .name = "mode-attr",
618 	  .type = OPTIONS_TABLE_ATTRIBUTES,
619 	  .scope = OPTIONS_TABLE_WINDOW,
620 	  .default_num = 0,
621 	  .style = "mode-style"
622 	},
623 
624 	{ .name = "mode-bg",
625 	  .type = OPTIONS_TABLE_COLOUR,
626 	  .scope = OPTIONS_TABLE_WINDOW,
627 	  .default_num = 3,
628 	  .style = "mode-style"
629 	},
630 
631 	{ .name = "mode-fg",
632 	  .type = OPTIONS_TABLE_COLOUR,
633 	  .scope = OPTIONS_TABLE_WINDOW,
634 	  .default_num = 0,
635 	  .style = "mode-style"
636 	},
637 
638 	{ .name = "mode-keys",
639 	  .type = OPTIONS_TABLE_CHOICE,
640 	  .scope = OPTIONS_TABLE_WINDOW,
641 	  .choices = options_table_mode_keys_list,
642 	  .default_num = MODEKEY_EMACS
643 	},
644 
645 	{ .name = "mode-style",
646 	  .type = OPTIONS_TABLE_STYLE,
647 	  .scope = OPTIONS_TABLE_WINDOW,
648 	  .default_str = "bg=yellow,fg=black"
649 	},
650 
651 	{ .name = "monitor-activity",
652 	  .type = OPTIONS_TABLE_FLAG,
653 	  .scope = OPTIONS_TABLE_WINDOW,
654 	  .default_num = 0
655 	},
656 
657 	{ .name = "monitor-bell",
658 	  .type = OPTIONS_TABLE_FLAG,
659 	  .scope = OPTIONS_TABLE_WINDOW,
660 	  .default_num = 1
661 	},
662 
663 	{ .name = "monitor-silence",
664 	  .type = OPTIONS_TABLE_NUMBER,
665 	  .scope = OPTIONS_TABLE_WINDOW,
666 	  .minimum = 0,
667 	  .maximum = INT_MAX,
668 	  .default_num = 0
669 	},
670 
671 	{ .name = "other-pane-height",
672 	  .type = OPTIONS_TABLE_NUMBER,
673 	  .scope = OPTIONS_TABLE_WINDOW,
674 	  .minimum = 0,
675 	  .maximum = INT_MAX,
676 	  .default_num = 0
677 	},
678 
679 	{ .name = "other-pane-width",
680 	  .type = OPTIONS_TABLE_NUMBER,
681 	  .scope = OPTIONS_TABLE_WINDOW,
682 	  .minimum = 0,
683 	  .maximum = INT_MAX,
684 	  .default_num = 0
685 	},
686 
687 	{ .name = "pane-active-border-bg",
688 	  .type = OPTIONS_TABLE_COLOUR,
689 	  .scope = OPTIONS_TABLE_WINDOW,
690 	  .default_num = 8,
691 	  .style = "pane-active-border-style"
692 	},
693 
694 	{ .name = "pane-active-border-fg",
695 	  .type = OPTIONS_TABLE_COLOUR,
696 	  .scope = OPTIONS_TABLE_WINDOW,
697 	  .default_num = 2,
698 	  .style = "pane-active-border-style"
699 	},
700 
701 	{ .name = "pane-active-border-style",
702 	  .type = OPTIONS_TABLE_STYLE,
703 	  .scope = OPTIONS_TABLE_WINDOW,
704 	  .default_str = "fg=green"
705 	},
706 
707 	{ .name = "pane-base-index",
708 	  .type = OPTIONS_TABLE_NUMBER,
709 	  .scope = OPTIONS_TABLE_WINDOW,
710 	  .minimum = 0,
711 	  .maximum = USHRT_MAX,
712 	  .default_num = 0
713 	},
714 
715 	{ .name = "pane-border-bg",
716 	  .type = OPTIONS_TABLE_COLOUR,
717 	  .scope = OPTIONS_TABLE_WINDOW,
718 	  .default_num = 8,
719 	  .style = "pane-border-style"
720 	},
721 
722 	{ .name = "pane-border-fg",
723 	  .type = OPTIONS_TABLE_COLOUR,
724 	  .scope = OPTIONS_TABLE_WINDOW,
725 	  .default_num = 8,
726 	  .style = "pane-border-style"
727 	},
728 
729 	{ .name = "pane-border-format",
730 	  .type = OPTIONS_TABLE_STRING,
731 	  .scope = OPTIONS_TABLE_WINDOW,
732 	  .default_str = "#{?pane_active,#[reverse],}#{pane_index}#[default] "
733 			 "\"#{pane_title}\""
734 	},
735 
736 	{ .name = "pane-border-status",
737 	  .type = OPTIONS_TABLE_CHOICE,
738 	  .scope = OPTIONS_TABLE_WINDOW,
739 	  .choices = options_table_pane_status_list,
740 	  .default_num = 0
741 	},
742 
743 	{ .name = "pane-border-style",
744 	  .type = OPTIONS_TABLE_STYLE,
745 	  .scope = OPTIONS_TABLE_WINDOW,
746 	  .default_str = "default"
747 	},
748 
749 	{ .name = "remain-on-exit",
750 	  .type = OPTIONS_TABLE_FLAG,
751 	  .scope = OPTIONS_TABLE_WINDOW,
752 	  .default_num = 0
753 	},
754 
755 	{ .name = "synchronize-panes",
756 	  .type = OPTIONS_TABLE_FLAG,
757 	  .scope = OPTIONS_TABLE_WINDOW,
758 	  .default_num = 0
759 	},
760 
761 	{ .name = "window-active-style",
762 	  .type = OPTIONS_TABLE_STYLE,
763 	  .scope = OPTIONS_TABLE_WINDOW,
764 	  .default_str = "default"
765 	},
766 
767 	{ .name = "window-style",
768 	  .type = OPTIONS_TABLE_STYLE,
769 	  .scope = OPTIONS_TABLE_WINDOW,
770 	  .default_str = "default"
771 	},
772 
773 	{ .name = "window-status-activity-attr",
774 	  .type = OPTIONS_TABLE_ATTRIBUTES,
775 	  .scope = OPTIONS_TABLE_WINDOW,
776 	  .default_num = GRID_ATTR_REVERSE,
777 	  .style = "window-status-activity-style"
778 	},
779 
780 	{ .name = "window-status-activity-bg",
781 	  .type = OPTIONS_TABLE_COLOUR,
782 	  .scope = OPTIONS_TABLE_WINDOW,
783 	  .default_num = 8,
784 	  .style = "window-status-activity-style"
785 	},
786 
787 	{ .name = "window-status-activity-fg",
788 	  .type = OPTIONS_TABLE_COLOUR,
789 	  .scope = OPTIONS_TABLE_WINDOW,
790 	  .default_num = 8,
791 	  .style = "window-status-activity-style"
792 	},
793 
794 	{ .name = "window-status-activity-style",
795 	  .type = OPTIONS_TABLE_STYLE,
796 	  .scope = OPTIONS_TABLE_WINDOW,
797 	  .default_str = "reverse"
798 	},
799 
800 	{ .name = "window-status-attr",
801 	  .type = OPTIONS_TABLE_ATTRIBUTES,
802 	  .scope = OPTIONS_TABLE_WINDOW,
803 	  .default_num = 0,
804 	  .style = "window-status-style"
805 	},
806 
807 	{ .name = "window-status-bell-attr",
808 	  .type = OPTIONS_TABLE_ATTRIBUTES,
809 	  .scope = OPTIONS_TABLE_WINDOW,
810 	  .default_num = GRID_ATTR_REVERSE,
811 	  .style = "window-status-bell-style"
812 	},
813 
814 	{ .name = "window-status-bell-bg",
815 	  .type = OPTIONS_TABLE_COLOUR,
816 	  .scope = OPTIONS_TABLE_WINDOW,
817 	  .default_num = 8,
818 	  .style = "window-status-bell-style"
819 	},
820 
821 	{ .name = "window-status-bell-fg",
822 	  .type = OPTIONS_TABLE_COLOUR,
823 	  .scope = OPTIONS_TABLE_WINDOW,
824 	  .default_num = 8,
825 	  .style = "window-status-bell-style"
826 	},
827 
828 	{ .name = "window-status-bell-style",
829 	  .type = OPTIONS_TABLE_STYLE,
830 	  .scope = OPTIONS_TABLE_WINDOW,
831 	  .default_str = "reverse"
832 	},
833 
834 	{ .name = "window-status-bg",
835 	  .type = OPTIONS_TABLE_COLOUR,
836 	  .scope = OPTIONS_TABLE_WINDOW,
837 	  .default_num = 8,
838 	  .style = "window-status-style"
839 	},
840 
841 	{ .name = "window-status-current-attr",
842 	  .type = OPTIONS_TABLE_ATTRIBUTES,
843 	  .scope = OPTIONS_TABLE_WINDOW,
844 	  .default_num = 0,
845 	  .style = "window-status-current-style"
846 	},
847 
848 	{ .name = "window-status-current-bg",
849 	  .type = OPTIONS_TABLE_COLOUR,
850 	  .scope = OPTIONS_TABLE_WINDOW,
851 	  .default_num = 8,
852 	  .style = "window-status-current-style"
853 	},
854 
855 	{ .name = "window-status-current-fg",
856 	  .type = OPTIONS_TABLE_COLOUR,
857 	  .scope = OPTIONS_TABLE_WINDOW,
858 	  .default_num = 8,
859 	  .style = "window-status-current-style"
860 	},
861 
862 	{ .name = "window-status-current-format",
863 	  .type = OPTIONS_TABLE_STRING,
864 	  .scope = OPTIONS_TABLE_WINDOW,
865 	  .default_str = "#I:#W#{?window_flags,#{window_flags}, }"
866 	},
867 
868 	{ .name = "window-status-current-style",
869 	  .type = OPTIONS_TABLE_STYLE,
870 	  .scope = OPTIONS_TABLE_WINDOW,
871 	  .default_str = "default"
872 	},
873 
874 	{ .name = "window-status-fg",
875 	  .type = OPTIONS_TABLE_COLOUR,
876 	  .scope = OPTIONS_TABLE_WINDOW,
877 	  .default_num = 8,
878 	  .style = "window-status-style"
879 	},
880 
881 	{ .name = "window-status-format",
882 	  .type = OPTIONS_TABLE_STRING,
883 	  .scope = OPTIONS_TABLE_WINDOW,
884 	  .default_str = "#I:#W#{?window_flags,#{window_flags}, }"
885 	},
886 
887 	{ .name = "window-status-last-attr",
888 	  .type = OPTIONS_TABLE_ATTRIBUTES,
889 	  .scope = OPTIONS_TABLE_WINDOW,
890 	  .default_num = 0,
891 	  .style = "window-status-last-style"
892 	},
893 
894 	{ .name = "window-status-last-bg",
895 	  .type = OPTIONS_TABLE_COLOUR,
896 	  .scope = OPTIONS_TABLE_WINDOW,
897 	  .default_num = 8,
898 	  .style = "window-status-last-style"
899 	},
900 
901 	{ .name = "window-status-last-fg",
902 	  .type = OPTIONS_TABLE_COLOUR,
903 	  .scope = OPTIONS_TABLE_WINDOW,
904 	  .default_num = 8,
905 	  .style = "window-status-last-style"
906 	},
907 
908 	{ .name = "window-status-last-style",
909 	  .type = OPTIONS_TABLE_STYLE,
910 	  .scope = OPTIONS_TABLE_WINDOW,
911 	  .default_str = "default"
912 	},
913 
914 	{ .name = "window-status-separator",
915 	  .type = OPTIONS_TABLE_STRING,
916 	  .scope = OPTIONS_TABLE_WINDOW,
917 	  .default_str = " "
918 	},
919 
920 	{ .name = "window-status-style",
921 	  .type = OPTIONS_TABLE_STYLE,
922 	  .scope = OPTIONS_TABLE_WINDOW,
923 	  .default_str = "default"
924 	},
925 
926 	{ .name = "wrap-search",
927 	  .type = OPTIONS_TABLE_FLAG,
928 	  .scope = OPTIONS_TABLE_WINDOW,
929 	  .default_num = 1
930 	},
931 
932 	{ .name = "xterm-keys",
933 	  .type = OPTIONS_TABLE_FLAG,
934 	  .scope = OPTIONS_TABLE_WINDOW,
935 	  .default_num = 1
936 	},
937 
938 	{ .name = NULL }
939 };
940