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