xref: /openbsd-src/usr.bin/tmux/options-table.c (revision 3d40d63a87e7d477e956d9dfca1e5d50688e719c)
1*3d40d63aSnicm /* $OpenBSD: options-table.c,v 1.188 2025/01/01 15:17:36 nicm Exp $ */
23affa6cbSnicm 
33affa6cbSnicm /*
498ca8272Snicm  * Copyright (c) 2011 Nicholas Marriott <nicholas.marriott@gmail.com>
53affa6cbSnicm  *
63affa6cbSnicm  * Permission to use, copy, modify, and distribute this software for any
73affa6cbSnicm  * purpose with or without fee is hereby granted, provided that the above
83affa6cbSnicm  * copyright notice and this permission notice appear in all copies.
93affa6cbSnicm  *
103affa6cbSnicm  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
113affa6cbSnicm  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
123affa6cbSnicm  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
133affa6cbSnicm  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
143affa6cbSnicm  * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER
153affa6cbSnicm  * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
163affa6cbSnicm  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
173affa6cbSnicm  */
183affa6cbSnicm 
193affa6cbSnicm #include <sys/types.h>
203affa6cbSnicm 
213affa6cbSnicm #include <string.h>
223affa6cbSnicm #include <paths.h>
233affa6cbSnicm 
243affa6cbSnicm #include "tmux.h"
253affa6cbSnicm 
263affa6cbSnicm /*
273affa6cbSnicm  * This file has a tables with all the server, session and window
283affa6cbSnicm  * options. These tables are the master copy of the options with their real
293affa6cbSnicm  * (user-visible) types, range limits and default values. At start these are
303affa6cbSnicm  * copied into the runtime global options trees (which only has number and
314a81f474Snicm  * string types). These tables are then used to look up the real type when the
324a81f474Snicm  * user sets an option or its value needs to be shown.
333affa6cbSnicm  */
343affa6cbSnicm 
353affa6cbSnicm /* Choice option type lists. */
36413e5e52Snicm static const char *options_table_mode_keys_list[] = {
373affa6cbSnicm 	"emacs", "vi", NULL
383affa6cbSnicm };
39413e5e52Snicm static const char *options_table_clock_mode_style_list[] = {
403affa6cbSnicm 	"12", "24", NULL
413affa6cbSnicm };
424ffcb1c8Snicm static const char *options_table_status_list[] = {
434ffcb1c8Snicm 	"off", "on", "2", "3", "4", "5", NULL
444ffcb1c8Snicm };
45c755e00aSnicm static const char *options_table_message_line_list[] = {
46c755e00aSnicm 	"0", "1", "2", "3", "4", NULL
47c755e00aSnicm };
48413e5e52Snicm static const char *options_table_status_keys_list[] = {
493affa6cbSnicm 	"emacs", "vi", NULL
503affa6cbSnicm };
51413e5e52Snicm static const char *options_table_status_justify_list[] = {
5284b35168Snicm 	"left", "centre", "right", "absolute-centre", NULL
533affa6cbSnicm };
54413e5e52Snicm static const char *options_table_status_position_list[] = {
55be5b7d79Snicm 	"top", "bottom", NULL
56be5b7d79Snicm };
57413e5e52Snicm static const char *options_table_bell_action_list[] = {
58d3bdd474Snicm 	"none", "any", "current", "other", NULL
593affa6cbSnicm };
601328eebfSnicm static const char *options_table_visual_bell_list[] = {
611328eebfSnicm 	"off", "on", "both", NULL
621328eebfSnicm };
636a238659Snicm static const char *options_table_cursor_style_list[] = {
646a238659Snicm 	"default", "blinking-block", "block", "blinking-underline", "underline",
656a238659Snicm 	"blinking-bar", "bar", NULL
666a238659Snicm };
67d2117533Snicm static const char *options_table_pane_scrollbars_list[] = {
68d2117533Snicm 	"off", "modal", "on", NULL
69d2117533Snicm };
70d2117533Snicm static const char *options_table_pane_scrollbars_position_list[] = {
71d2117533Snicm 	"right", "left", NULL
72d2117533Snicm };
73413e5e52Snicm static const char *options_table_pane_status_list[] = {
74bc3b19faSnicm 	"off", "top", "bottom", NULL
75bc3b19faSnicm };
76dea11c3cSnicm static const char *options_table_pane_border_indicators_list[] = {
77dea11c3cSnicm 	"off", "colour", "arrows", "both", NULL
78dea11c3cSnicm };
79ccb627cdSnicm static const char *options_table_pane_border_lines_list[] = {
80523d1daeSnicm 	"single", "double", "heavy", "simple", "number", NULL
81523d1daeSnicm };
82ccb627cdSnicm static const char *options_table_popup_border_lines_list[] = {
83ccb627cdSnicm 	"single", "double", "heavy", "simple", "rounded", "padded", "none", NULL
84ccb627cdSnicm };
850c1f54ebSnicm static const char *options_table_set_clipboard_list[] = {
860c1f54ebSnicm 	"off", "external", "on", NULL
870c1f54ebSnicm };
887b470e93Snicm static const char *options_table_window_size_list[] = {
89f4f81a00Snicm 	"largest", "smallest", "manual", "latest", NULL
907b470e93Snicm };
91c93e2546Snicm static const char *options_table_remain_on_exit_list[] = {
92c93e2546Snicm 	"off", "on", "failed", NULL
93c93e2546Snicm };
949461a728Snicm static const char *options_table_destroy_unattached_list[] = {
959461a728Snicm 	"off", "on", "keep-last", "keep-group", NULL
969461a728Snicm };
97579115bdSnicm static const char *options_table_detach_on_destroy_list[] = {
986a041561Snicm 	"off", "on", "no-detached", "previous", "next", NULL
99579115bdSnicm };
1000465bfa0Snicm static const char *options_table_extended_keys_list[] = {
1010465bfa0Snicm 	"off", "on", "always", NULL
1020465bfa0Snicm };
103719f5715Snicm static const char *options_table_extended_keys_format_list[] = {
104719f5715Snicm 	"csi-u", "xterm", NULL
105719f5715Snicm };
106930d157dSnicm static const char *options_table_allow_passthrough_list[] = {
107930d157dSnicm 	"off", "on", "all", NULL
108930d157dSnicm };
1093affa6cbSnicm 
1104ffcb1c8Snicm /* Status line format. */
1114ffcb1c8Snicm #define OPTIONS_TABLE_STATUS_FORMAT1 \
112b216c6a2Snicm 	"#[align=left range=left #{E:status-left-style}]" \
11357b78c22Snicm 	"#[push-default]" \
11457b78c22Snicm 	"#{T;=/#{status-left-length}:status-left}" \
11557b78c22Snicm 	"#[pop-default]" \
11657b78c22Snicm 	"#[norange default]" \
1174ffcb1c8Snicm 	"#[list=on align=#{status-justify}]" \
1184ffcb1c8Snicm 	"#[list=left-marker]<#[list=right-marker]>#[list=on]" \
1194ffcb1c8Snicm 	"#{W:" \
1204ffcb1c8Snicm 		"#[range=window|#{window_index} " \
121b216c6a2Snicm 			"#{E:window-status-style}" \
122ca3753ceSnicm 			"#{?#{&&:#{window_last_flag}," \
123b216c6a2Snicm 				"#{!=:#{E:window-status-last-style},default}}, " \
124b216c6a2Snicm 				"#{E:window-status-last-style}," \
125ca3753ceSnicm 			"}" \
126ca3753ceSnicm 			"#{?#{&&:#{window_bell_flag}," \
127b216c6a2Snicm 				"#{!=:#{E:window-status-bell-style},default}}, " \
128b216c6a2Snicm 				"#{E:window-status-bell-style}," \
129b33b5bd5Snicm 				"#{?#{&&:#{||:#{window_activity_flag}," \
130b33b5bd5Snicm 					     "#{window_silence_flag}}," \
131ca3753ceSnicm 					"#{!=:" \
132b216c6a2Snicm 					"#{E:window-status-activity-style}," \
133ca3753ceSnicm 					"default}}, " \
134b216c6a2Snicm 					"#{E:window-status-activity-style}," \
135ca3753ceSnicm 				"}" \
1364ffcb1c8Snicm 			"}" \
1374ffcb1c8Snicm 		"]" \
138c8f0e702Snicm 		"#[push-default]" \
1394ffcb1c8Snicm 		"#{T:window-status-format}" \
140c8f0e702Snicm 		"#[pop-default]" \
1414ffcb1c8Snicm 		"#[norange default]" \
1424ffcb1c8Snicm 		"#{?window_end_flag,,#{window-status-separator}}" \
1434ffcb1c8Snicm 	"," \
1444ffcb1c8Snicm 		"#[range=window|#{window_index} list=focus " \
145b216c6a2Snicm 			"#{?#{!=:#{E:window-status-current-style},default}," \
146b216c6a2Snicm 				"#{E:window-status-current-style}," \
147b216c6a2Snicm 				"#{E:window-status-style}" \
148dcc63711Snicm 			"}" \
149ca3753ceSnicm 			"#{?#{&&:#{window_last_flag}," \
150b216c6a2Snicm 				"#{!=:#{E:window-status-last-style},default}}, " \
151b216c6a2Snicm 				"#{E:window-status-last-style}," \
152ca3753ceSnicm 			"}" \
153ca3753ceSnicm 			"#{?#{&&:#{window_bell_flag}," \
154b216c6a2Snicm 				"#{!=:#{E:window-status-bell-style},default}}, " \
155b216c6a2Snicm 				"#{E:window-status-bell-style}," \
156b33b5bd5Snicm 				"#{?#{&&:#{||:#{window_activity_flag}," \
157b33b5bd5Snicm 					     "#{window_silence_flag}}," \
158ca3753ceSnicm 					"#{!=:" \
159b216c6a2Snicm 					"#{E:window-status-activity-style}," \
160ca3753ceSnicm 					"default}}, " \
161b216c6a2Snicm 					"#{E:window-status-activity-style}," \
162ca3753ceSnicm 				"}" \
1634ffcb1c8Snicm 			"}" \
1644ffcb1c8Snicm 		"]" \
165c8f0e702Snicm 		"#[push-default]" \
1664ffcb1c8Snicm 		"#{T:window-status-current-format}" \
167c8f0e702Snicm 		"#[pop-default]" \
1684ffcb1c8Snicm 		"#[norange list=on default]" \
1694ffcb1c8Snicm 		"#{?window_end_flag,,#{window-status-separator}}" \
1704ffcb1c8Snicm 	"}" \
171b216c6a2Snicm 	"#[nolist align=right range=right #{E:status-right-style}]" \
17257b78c22Snicm 	"#[push-default]" \
17357b78c22Snicm 	"#{T;=/#{status-right-length}:status-right}" \
17457b78c22Snicm 	"#[pop-default]" \
17557b78c22Snicm 	"#[norange default]"
1764ffcb1c8Snicm #define OPTIONS_TABLE_STATUS_FORMAT2 \
1774ffcb1c8Snicm 	"#[align=centre]#{P:#{?pane_active,#[reverse],}" \
1784ffcb1c8Snicm 	"#{pane_index}[#{pane_width}x#{pane_height}]#[default] }"
1794ffcb1c8Snicm static const char *options_table_status_format_default[] = {
1804ffcb1c8Snicm 	OPTIONS_TABLE_STATUS_FORMAT1, OPTIONS_TABLE_STATUS_FORMAT2, NULL
1814ffcb1c8Snicm };
1824ffcb1c8Snicm 
183b9cb9f01Snicm /* Helpers for hook options. */
184844b9093Snicm #define OPTIONS_TABLE_HOOK(hook_name, default_value) \
185844b9093Snicm 	{ .name = hook_name, \
186844b9093Snicm 	  .type = OPTIONS_TABLE_COMMAND, \
187844b9093Snicm 	  .scope = OPTIONS_TABLE_SESSION, \
188844b9093Snicm 	  .flags = OPTIONS_TABLE_IS_ARRAY|OPTIONS_TABLE_IS_HOOK, \
189844b9093Snicm 	  .default_str = default_value,	\
190844b9093Snicm 	  .separator = "" \
191844b9093Snicm 	}
192844b9093Snicm 
193b9cb9f01Snicm #define OPTIONS_TABLE_PANE_HOOK(hook_name, default_value) \
194b9cb9f01Snicm 	{ .name = hook_name, \
195b9cb9f01Snicm 	  .type = OPTIONS_TABLE_COMMAND, \
196b9cb9f01Snicm 	  .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE, \
197b9cb9f01Snicm 	  .flags = OPTIONS_TABLE_IS_ARRAY|OPTIONS_TABLE_IS_HOOK, \
198b9cb9f01Snicm 	  .default_str = default_value,	\
199b9cb9f01Snicm 	  .separator = "" \
200b9cb9f01Snicm 	}
201b9cb9f01Snicm 
202b9cb9f01Snicm #define OPTIONS_TABLE_WINDOW_HOOK(hook_name, default_value) \
203b9cb9f01Snicm 	{ .name = hook_name, \
204b9cb9f01Snicm 	  .type = OPTIONS_TABLE_COMMAND, \
205b9cb9f01Snicm 	  .scope = OPTIONS_TABLE_WINDOW, \
206b9cb9f01Snicm 	  .flags = OPTIONS_TABLE_IS_ARRAY|OPTIONS_TABLE_IS_HOOK, \
207b9cb9f01Snicm 	  .default_str = default_value,	\
208b9cb9f01Snicm 	  .separator = "" \
209b9cb9f01Snicm 	}
210b9cb9f01Snicm 
21143dc5f42Snicm /* Map of name conversions. */
21243dc5f42Snicm const struct options_name_map options_other_names[] = {
21343dc5f42Snicm 	{ "display-panes-color", "display-panes-colour" },
21443dc5f42Snicm 	{ "display-panes-active-color", "display-panes-active-colour" },
21543dc5f42Snicm 	{ "clock-mode-color", "clock-mode-colour" },
2161db1a6bbSnicm 	{ "cursor-color", "cursor-colour" },
21732099560Snicm 	{ "prompt-cursor-color", "prompt-cursor-colour" },
21833a1e283Snicm 	{ "pane-colors", "pane-colours" },
21943dc5f42Snicm 	{ NULL, NULL }
22043dc5f42Snicm };
22143dc5f42Snicm 
22258eb4b5dSnicm /* Top-level options. */
2231a5f7318Snicm const struct options_table_entry options_table[] = {
224844b9093Snicm 	/* Server options. */
225fdd8dc91Snicm 	{ .name = "backspace",
226fdd8dc91Snicm 	  .type = OPTIONS_TABLE_KEY,
227fdd8dc91Snicm 	  .scope = OPTIONS_TABLE_SERVER,
228fdd8dc91Snicm 	  .default_num = '\177',
22967c16a7cSnicm 	  .text = "The key to send for backspace."
230fdd8dc91Snicm 	},
231fdd8dc91Snicm 
2323affa6cbSnicm 	{ .name = "buffer-limit",
2333affa6cbSnicm 	  .type = OPTIONS_TABLE_NUMBER,
2341a5f7318Snicm 	  .scope = OPTIONS_TABLE_SERVER,
2353affa6cbSnicm 	  .minimum = 1,
2363affa6cbSnicm 	  .maximum = INT_MAX,
23767c16a7cSnicm 	  .default_num = 50,
23867c16a7cSnicm 	  .text = "The maximum number of automatic buffers. "
23967c16a7cSnicm 		  "When this is reached, the oldest buffer is deleted."
2403affa6cbSnicm 	},
2413affa6cbSnicm 
242a3834af8Snicm 	{ .name = "command-alias",
24384306383Snicm 	  .type = OPTIONS_TABLE_STRING,
244a3834af8Snicm 	  .scope = OPTIONS_TABLE_SERVER,
24584306383Snicm 	  .flags = OPTIONS_TABLE_IS_ARRAY,
246a3834af8Snicm 	  .default_str = "split-pane=split-window,"
2474266d73eSnicm 			 "splitp=split-window,"
2484266d73eSnicm 			 "server-info=show-messages -JT,"
249a42faf7dSnicm 			 "info=show-messages -JT,"
250a42faf7dSnicm 			 "choose-window=choose-tree -w,"
251a42faf7dSnicm 			 "choose-session=choose-tree -s",
25267c16a7cSnicm 	  .separator = ",",
25367c16a7cSnicm 	  .text = "Array of command aliases. "
25467c16a7cSnicm 		  "Each entry is an alias and a command separated by '='."
255a3834af8Snicm 	},
256a3834af8Snicm 
257*3d40d63aSnicm 	{ .name = "codepoint-widths",
258*3d40d63aSnicm 	  .type = OPTIONS_TABLE_STRING,
259*3d40d63aSnicm 	  .scope = OPTIONS_TABLE_SERVER,
260*3d40d63aSnicm 	  .flags = OPTIONS_TABLE_IS_ARRAY,
261*3d40d63aSnicm 	  .default_str = "",
262*3d40d63aSnicm 	  .separator = ",",
263*3d40d63aSnicm 	  .text = "Array of override widths for Unicode codepoints."
264*3d40d63aSnicm 	},
265*3d40d63aSnicm 
266744a5922Snicm 	{ .name = "copy-command",
267744a5922Snicm 	  .type = OPTIONS_TABLE_STRING,
268744a5922Snicm 	  .scope = OPTIONS_TABLE_SERVER,
26967c16a7cSnicm 	  .default_str = "",
27067c16a7cSnicm 	  .text = "Shell command run when text is copied. "
27167c16a7cSnicm 		  "If empty, no command is run."
272744a5922Snicm 	},
273744a5922Snicm 
2741db1a6bbSnicm 	{ .name = "cursor-colour",
2751db1a6bbSnicm 	  .type = OPTIONS_TABLE_COLOUR,
2761db1a6bbSnicm 	  .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
2771db1a6bbSnicm 	  .default_num = -1,
2781db1a6bbSnicm 	  .text = "Colour of the cursor."
2791db1a6bbSnicm 	},
2801db1a6bbSnicm 
2816a238659Snicm 	{ .name = "cursor-style",
2826a238659Snicm 	  .type = OPTIONS_TABLE_CHOICE,
2836a238659Snicm 	  .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
2846a238659Snicm 	  .choices = options_table_cursor_style_list,
2856a238659Snicm 	  .default_num = 0,
2866a238659Snicm 	  .text = "Style of the cursor."
2876a238659Snicm 	},
2886a238659Snicm 
28950586f81Snicm 	{ .name = "default-terminal",
29050586f81Snicm 	  .type = OPTIONS_TABLE_STRING,
2911a5f7318Snicm 	  .scope = OPTIONS_TABLE_SERVER,
292ba2bd6b5Snicm 	  .default_str = TMUX_TERM,
29367c16a7cSnicm 	  .text = "Default for the 'TERM' environment variable."
29450586f81Snicm 	},
29550586f81Snicm 
296a6c9106fSnicm 	{ .name = "editor",
297a6c9106fSnicm 	  .type = OPTIONS_TABLE_STRING,
298a6c9106fSnicm 	  .scope = OPTIONS_TABLE_SERVER,
29967c16a7cSnicm 	  .default_str = _PATH_VI,
30067c16a7cSnicm 	  .text = "Editor run to edit files."
301a6c9106fSnicm 	},
302a6c9106fSnicm 
3033affa6cbSnicm 	{ .name = "escape-time",
3043affa6cbSnicm 	  .type = OPTIONS_TABLE_NUMBER,
3051a5f7318Snicm 	  .scope = OPTIONS_TABLE_SERVER,
3063affa6cbSnicm 	  .minimum = 0,
3073affa6cbSnicm 	  .maximum = INT_MAX,
30875955b22Snicm 	  .default_num = 10,
3097320143cSnicm 	  .unit = "milliseconds",
31067c16a7cSnicm 	  .text = "Time to wait before assuming a key is Escape."
3113affa6cbSnicm 	},
3123affa6cbSnicm 
3130d4a1e1fSnicm 	{ .name = "exit-empty",
3140d4a1e1fSnicm 	  .type = OPTIONS_TABLE_FLAG,
3150d4a1e1fSnicm 	  .scope = OPTIONS_TABLE_SERVER,
31667c16a7cSnicm 	  .default_num = 1,
31767c16a7cSnicm 	  .text = "Whether the server should exit if there are no sessions."
3180d4a1e1fSnicm 	},
3190d4a1e1fSnicm 
3203affa6cbSnicm 	{ .name = "exit-unattached",
3213affa6cbSnicm 	  .type = OPTIONS_TABLE_FLAG,
3221a5f7318Snicm 	  .scope = OPTIONS_TABLE_SERVER,
32367c16a7cSnicm 	  .default_num = 0,
32467c16a7cSnicm 	  .text = "Whether the server should exit if there are no attached "
32567c16a7cSnicm 		  "clients."
3263affa6cbSnicm 	},
3273affa6cbSnicm 
328dcf80b09Snicm 	{ .name = "extended-keys",
3290465bfa0Snicm 	  .type = OPTIONS_TABLE_CHOICE,
330dcf80b09Snicm 	  .scope = OPTIONS_TABLE_SERVER,
3310465bfa0Snicm 	  .choices = options_table_extended_keys_list,
332e3206f6fSnicm 	  .default_num = 0,
333dcf80b09Snicm 	  .text = "Whether to request extended key sequences from terminals "
334dcf80b09Snicm 		  "that support it."
335dcf80b09Snicm 	},
336dcf80b09Snicm 
337719f5715Snicm 	{ .name = "extended-keys-format",
338719f5715Snicm 	  .type = OPTIONS_TABLE_CHOICE,
339719f5715Snicm 	  .scope = OPTIONS_TABLE_SERVER,
340719f5715Snicm 	  .choices = options_table_extended_keys_format_list,
341719f5715Snicm 	  .default_num = 1,
342719f5715Snicm 	  .text = "The format of emitted extended key sequences."
343719f5715Snicm 	},
344719f5715Snicm 
345af1903b1Snicm 	{ .name = "focus-events",
346af1903b1Snicm 	  .type = OPTIONS_TABLE_FLAG,
3471a5f7318Snicm 	  .scope = OPTIONS_TABLE_SERVER,
34867c16a7cSnicm 	  .default_num = 0,
34967c16a7cSnicm 	  .text = "Whether to send focus events to applications."
350af1903b1Snicm 	},
351af1903b1Snicm 
352179ef399Snicm 	{ .name = "history-file",
353179ef399Snicm 	  .type = OPTIONS_TABLE_STRING,
3541a5f7318Snicm 	  .scope = OPTIONS_TABLE_SERVER,
35567c16a7cSnicm 	  .default_str = "",
35667c16a7cSnicm 	  .text = "Location of the command prompt history file. "
35767c16a7cSnicm 		  "Empty does not write a history file."
358179ef399Snicm 	},
359179ef399Snicm 
360d5f1c1a5Snicm 	{ .name = "input-buffer-size",
361d5f1c1a5Snicm 	  .type = OPTIONS_TABLE_NUMBER,
362d5f1c1a5Snicm 	  .scope = OPTIONS_TABLE_SERVER,
363d5f1c1a5Snicm 	  .minimum = INPUT_BUF_DEFAULT_SIZE,
364d5f1c1a5Snicm 	  .maximum = UINT_MAX,
365d5f1c1a5Snicm 	  .default_num = INPUT_BUF_DEFAULT_SIZE,
366d5f1c1a5Snicm 	  .text = "Number of byte accpted in a single input before dropping."
367d5f1c1a5Snicm 	},
368d5f1c1a5Snicm 
36917d7ce67Snicm 	{ .name = "menu-style",
37017d7ce67Snicm 	  .type = OPTIONS_TABLE_STRING,
37117d7ce67Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
37217d7ce67Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
37317d7ce67Snicm 	  .default_str = "default",
37417d7ce67Snicm 	  .separator = ",",
37517d7ce67Snicm 	  .text = "Default style of menu."
37617d7ce67Snicm 	},
37717d7ce67Snicm 
37819c94b00Snicm 	{ .name = "menu-selected-style",
37919c94b00Snicm 	  .type = OPTIONS_TABLE_STRING,
38019c94b00Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
38119c94b00Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
38219c94b00Snicm 	  .default_str = "bg=yellow,fg=black",
38319c94b00Snicm 	  .separator = ",",
38419c94b00Snicm 	  .text = "Default style of selected menu item."
38519c94b00Snicm 	},
38619c94b00Snicm 
38717d7ce67Snicm 	{ .name = "menu-border-style",
38817d7ce67Snicm 	  .type = OPTIONS_TABLE_STRING,
38917d7ce67Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
39017d7ce67Snicm 	  .default_str = "default",
39117d7ce67Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
39217d7ce67Snicm 	  .separator = ",",
39317d7ce67Snicm 	  .text = "Default style of menu borders."
39417d7ce67Snicm 	},
39517d7ce67Snicm 
39617d7ce67Snicm 	{ .name = "menu-border-lines",
39717d7ce67Snicm 	  .type = OPTIONS_TABLE_CHOICE,
39817d7ce67Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
39917d7ce67Snicm 	  .choices = options_table_popup_border_lines_list,
40017d7ce67Snicm 	  .default_num = BOX_LINES_SINGLE,
40117d7ce67Snicm 	  .text = "Type of characters used to draw menu border lines. Some of "
40217d7ce67Snicm 	          "these are only supported on terminals with UTF-8 support."
40317d7ce67Snicm 	},
40417d7ce67Snicm 
405eef33527Snicm 	{ .name = "message-limit",
406eef33527Snicm 	  .type = OPTIONS_TABLE_NUMBER,
4071a5f7318Snicm 	  .scope = OPTIONS_TABLE_SERVER,
408eef33527Snicm 	  .minimum = 0,
409eef33527Snicm 	  .maximum = INT_MAX,
41067c16a7cSnicm 	  .default_num = 1000,
41167c16a7cSnicm 	  .text = "Maximum number of server messages to keep."
412eef33527Snicm 	},
413eef33527Snicm 
414c9c8e50cSnicm 	{ .name = "prefix-timeout",
415c9c8e50cSnicm 	  .type = OPTIONS_TABLE_NUMBER,
416c9c8e50cSnicm 	  .scope = OPTIONS_TABLE_SERVER,
417c9c8e50cSnicm 	  .minimum = 0,
418c9c8e50cSnicm 	  .maximum = INT_MAX,
419c9c8e50cSnicm 	  .default_num = 0,
420c9c8e50cSnicm 	  .unit = "milliseconds",
421c9c8e50cSnicm 	  .text = "The timeout for the prefix key if no subsequent key is "
422c9c8e50cSnicm 	          "pressed. Zero means disabled."
423c9c8e50cSnicm 	},
424c9c8e50cSnicm 
425bc5a8fc2Snicm 	{ .name = "prompt-history-limit",
426bc5a8fc2Snicm 	  .type = OPTIONS_TABLE_NUMBER,
427bc5a8fc2Snicm 	  .scope = OPTIONS_TABLE_SERVER,
428bc5a8fc2Snicm 	  .minimum = 0,
429bc5a8fc2Snicm 	  .maximum = INT_MAX,
430bc5a8fc2Snicm 	  .default_num = 100,
431bc5a8fc2Snicm 	  .text = "Maximum number of commands to keep in history."
432bc5a8fc2Snicm 	},
433bc5a8fc2Snicm 
434f9bce6b9Snicm 	{ .name = "set-clipboard",
4350c1f54ebSnicm 	  .type = OPTIONS_TABLE_CHOICE,
4361a5f7318Snicm 	  .scope = OPTIONS_TABLE_SERVER,
4370c1f54ebSnicm 	  .choices = options_table_set_clipboard_list,
43867c16a7cSnicm 	  .default_num = 1,
43967c16a7cSnicm 	  .text = "Whether to attempt to set the system clipboard ('on' or "
44067c16a7cSnicm 		  "'external') and whether to allow applications to create "
44167c16a7cSnicm 		  "paste buffers with an escape sequence ('on' only)."
442f9bce6b9Snicm 	},
443f9bce6b9Snicm 
444807352cfSnicm 	{ .name = "terminal-overrides",
44584306383Snicm 	  .type = OPTIONS_TABLE_STRING,
4461a5f7318Snicm 	  .scope = OPTIONS_TABLE_SERVER,
44784306383Snicm 	  .flags = OPTIONS_TABLE_IS_ARRAY,
4488262b9c0Snicm 	  .default_str = "linux*:AX@",
44967c16a7cSnicm 	  .separator = ",",
45067c16a7cSnicm 	  .text = "List of terminal capabilities overrides."
4515a160f88Snicm 	},
4525a160f88Snicm 
4535a160f88Snicm 	{ .name = "terminal-features",
4545a160f88Snicm 	  .type = OPTIONS_TABLE_STRING,
4555a160f88Snicm 	  .scope = OPTIONS_TABLE_SERVER,
4565a160f88Snicm 	  .flags = OPTIONS_TABLE_IS_ARRAY,
45742a5eafbSnicm 	  .default_str = "xterm*:clipboard:ccolour:cstyle:focus:title,"
458c620fc9fSnicm 			 "screen*:title,"
459c620fc9fSnicm 	                 "rxvt*:ignorefkeys",
46067c16a7cSnicm 	  .separator = ",",
46167c16a7cSnicm 	  .text = "List of terminal features, used if they cannot be "
46267c16a7cSnicm 		  "automatically detected."
463807352cfSnicm 	},
464807352cfSnicm 
465b846cb6cSnicm 	{ .name = "user-keys",
46684306383Snicm 	  .type = OPTIONS_TABLE_STRING,
467b846cb6cSnicm 	  .scope = OPTIONS_TABLE_SERVER,
46884306383Snicm 	  .flags = OPTIONS_TABLE_IS_ARRAY,
469b846cb6cSnicm 	  .default_str = "",
47067c16a7cSnicm 	  .separator = ",",
47167c16a7cSnicm 	  .text = "User key assignments. "
47267c16a7cSnicm 		  "Each sequence in the list is translated into a key: "
47367c16a7cSnicm 		  "'User0', 'User1' and so on."
474b846cb6cSnicm 	},
475b846cb6cSnicm 
476844b9093Snicm 	/* Session options. */
4771328eebfSnicm 	{ .name = "activity-action",
4781328eebfSnicm 	  .type = OPTIONS_TABLE_CHOICE,
4791328eebfSnicm 	  .scope = OPTIONS_TABLE_SESSION,
4801328eebfSnicm 	  .choices = options_table_bell_action_list,
48167c16a7cSnicm 	  .default_num = ALERT_OTHER,
48267c16a7cSnicm 	  .text = "Action to take on an activity alert."
4831328eebfSnicm 	},
4841328eebfSnicm 
4858bed1721Snicm 	{ .name = "assume-paste-time",
4868bed1721Snicm 	  .type = OPTIONS_TABLE_NUMBER,
4871a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
4888bed1721Snicm 	  .minimum = 0,
4898bed1721Snicm 	  .maximum = INT_MAX,
4908bed1721Snicm 	  .default_num = 1,
49167c16a7cSnicm 	  .unit = "milliseconds",
492f9abdc14Snicm 	  .text = "Maximum time between input to assume it is pasting rather "
49367c16a7cSnicm 		  "than typing."
4948bed1721Snicm 	},
4958bed1721Snicm 
4963affa6cbSnicm 	{ .name = "base-index",
4973affa6cbSnicm 	  .type = OPTIONS_TABLE_NUMBER,
4981a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
4993affa6cbSnicm 	  .minimum = 0,
5003affa6cbSnicm 	  .maximum = INT_MAX,
50167c16a7cSnicm 	  .default_num = 0,
50267c16a7cSnicm 	  .text = "Default index of the first window in each session."
5033affa6cbSnicm 	},
5043affa6cbSnicm 
5053affa6cbSnicm 	{ .name = "bell-action",
5063affa6cbSnicm 	  .type = OPTIONS_TABLE_CHOICE,
5071a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
5083affa6cbSnicm 	  .choices = options_table_bell_action_list,
50967c16a7cSnicm 	  .default_num = ALERT_ANY,
51067c16a7cSnicm 	  .text = "Action to take on a bell alert."
5113affa6cbSnicm 	},
5123affa6cbSnicm 
5133affa6cbSnicm 	{ .name = "default-command",
5143affa6cbSnicm 	  .type = OPTIONS_TABLE_STRING,
5151a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
51667c16a7cSnicm 	  .default_str = "",
51767c16a7cSnicm 	  .text = "Default command to run in new panes. If empty, a shell is "
51867c16a7cSnicm 		  "started."
5193affa6cbSnicm 	},
5203affa6cbSnicm 
5213affa6cbSnicm 	{ .name = "default-shell",
5223affa6cbSnicm 	  .type = OPTIONS_TABLE_STRING,
5231a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
52467c16a7cSnicm 	  .default_str = _PATH_BSHELL,
52567c16a7cSnicm 	  .text = "Location of default shell."
5263affa6cbSnicm 	},
5273affa6cbSnicm 
5287b470e93Snicm 	{ .name = "default-size",
5297b470e93Snicm 	  .type = OPTIONS_TABLE_STRING,
5307b470e93Snicm 	  .scope = OPTIONS_TABLE_SESSION,
5317b470e93Snicm 	  .pattern = "[0-9]*x[0-9]*",
53267c16a7cSnicm 	  .default_str = "80x24",
53367c16a7cSnicm 	  .text = "Initial size of new sessions."
5347b470e93Snicm 	},
5357b470e93Snicm 
5363affa6cbSnicm 	{ .name = "destroy-unattached",
5379461a728Snicm 	  .type = OPTIONS_TABLE_CHOICE,
5381a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
5399461a728Snicm 	  .choices = options_table_destroy_unattached_list,
54067c16a7cSnicm 	  .default_num = 0,
54167c16a7cSnicm 	  .text = "Whether to destroy sessions when they have no attached "
5429461a728Snicm 		  "clients, or keep the last session whether in the group."
5433affa6cbSnicm 	},
5443affa6cbSnicm 
5453affa6cbSnicm 	{ .name = "detach-on-destroy",
546579115bdSnicm 	  .type = OPTIONS_TABLE_CHOICE,
5471a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
548579115bdSnicm 	  .choices = options_table_detach_on_destroy_list,
54967c16a7cSnicm 	  .default_num = 1,
55067c16a7cSnicm 	  .text = "Whether to detach when a session is destroyed, or switch "
55167c16a7cSnicm 		  "the client to another session if any exist."
5523affa6cbSnicm 	},
5533affa6cbSnicm 
5543affa6cbSnicm 	{ .name = "display-panes-active-colour",
5553affa6cbSnicm 	  .type = OPTIONS_TABLE_COLOUR,
5561a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
55767c16a7cSnicm 	  .default_num = 1,
55867c16a7cSnicm 	  .text = "Colour of the active pane for 'display-panes'."
5593affa6cbSnicm 	},
5603affa6cbSnicm 
5613affa6cbSnicm 	{ .name = "display-panes-colour",
5623affa6cbSnicm 	  .type = OPTIONS_TABLE_COLOUR,
5631a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
56467c16a7cSnicm 	  .default_num = 4,
56567c16a7cSnicm 	  .text = "Colour of not active panes for 'display-panes'."
5663affa6cbSnicm 	},
5673affa6cbSnicm 
5683affa6cbSnicm 	{ .name = "display-panes-time",
5693affa6cbSnicm 	  .type = OPTIONS_TABLE_NUMBER,
5701a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
5713affa6cbSnicm 	  .minimum = 1,
5723affa6cbSnicm 	  .maximum = INT_MAX,
57367c16a7cSnicm 	  .default_num = 1000,
57467c16a7cSnicm 	  .unit = "milliseconds",
57567c16a7cSnicm 	  .text = "Time for which 'display-panes' should show pane numbers."
5763affa6cbSnicm 	},
5773affa6cbSnicm 
5783affa6cbSnicm 	{ .name = "display-time",
5793affa6cbSnicm 	  .type = OPTIONS_TABLE_NUMBER,
5801a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
581b62d8cfbStim 	  .minimum = 0,
5823affa6cbSnicm 	  .maximum = INT_MAX,
58367c16a7cSnicm 	  .default_num = 750,
58467c16a7cSnicm 	  .unit = "milliseconds",
58567c16a7cSnicm 	  .text = "Time for which status line messages should appear."
5863affa6cbSnicm 	},
5873affa6cbSnicm 
5883affa6cbSnicm 	{ .name = "history-limit",
5893affa6cbSnicm 	  .type = OPTIONS_TABLE_NUMBER,
5901a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
5913affa6cbSnicm 	  .minimum = 0,
5924d572b0bSnicm 	  .maximum = INT_MAX,
59367c16a7cSnicm 	  .default_num = 2000,
59467c16a7cSnicm 	  .unit = "lines",
59567c16a7cSnicm 	  .text = "Maximum number of lines to keep in the history for each "
59667c16a7cSnicm 		  "pane. "
59767c16a7cSnicm 		  "If changed, the new value applies only to new panes."
5983affa6cbSnicm 	},
5993affa6cbSnicm 
600863bdf70Snicm 	{ .name = "initial-repeat-time",
601863bdf70Snicm 	  .type = OPTIONS_TABLE_NUMBER,
602863bdf70Snicm 	  .scope = OPTIONS_TABLE_SESSION,
603863bdf70Snicm 	  .minimum = 0,
604169573fcSnicm 	  .maximum = 2000000,
605863bdf70Snicm 	  .default_num = 0,
606863bdf70Snicm 	  .unit = "milliseconds",
607863bdf70Snicm 	  .text = "Time to wait for a key binding to repeat the first time the "
608863bdf70Snicm 	          "key is pressed, if it is bound with the '-r' flag. "
609863bdf70Snicm 	          "Subsequent presses use the 'repeat-time' option."
610863bdf70Snicm 	},
611863bdf70Snicm 
6126c6caa14Snicm 	{ .name = "key-table",
6136c6caa14Snicm 	  .type = OPTIONS_TABLE_STRING,
6146c6caa14Snicm 	  .scope = OPTIONS_TABLE_SESSION,
61567c16a7cSnicm 	  .default_str = "root",
61667c16a7cSnicm 	  .text = "Default key table. "
61767c16a7cSnicm 		  "Key presses are first looked up in this table."
6186c6caa14Snicm 	},
6196c6caa14Snicm 
6203affa6cbSnicm 	{ .name = "lock-after-time",
6213affa6cbSnicm 	  .type = OPTIONS_TABLE_NUMBER,
6221a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
6233affa6cbSnicm 	  .minimum = 0,
6243affa6cbSnicm 	  .maximum = INT_MAX,
62567c16a7cSnicm 	  .default_num = 0,
62667c16a7cSnicm 	  .unit = "seconds",
62767c16a7cSnicm 	  .text = "Time after which a client is locked if not used."
6283affa6cbSnicm 	},
6293affa6cbSnicm 
6303affa6cbSnicm 	{ .name = "lock-command",
6313affa6cbSnicm 	  .type = OPTIONS_TABLE_STRING,
6321a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
63367c16a7cSnicm 	  .default_str = "lock -np",
63467c16a7cSnicm 	  .text = "Shell command to run to lock a client."
6353affa6cbSnicm 	},
6363affa6cbSnicm 
637a8c9f839Snicm 	{ .name = "message-command-style",
63801c0c428Snicm 	  .type = OPTIONS_TABLE_STRING,
6391a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
64001c0c428Snicm 	  .default_str = "bg=black,fg=yellow",
64101c0c428Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
64267c16a7cSnicm 	  .separator = ",",
64367c16a7cSnicm 	  .text = "Style of the command prompt when in command mode, if "
64467c16a7cSnicm 		  "'mode-keys' is set to 'vi'."
645b8758c6fSnicm 	},
646b8758c6fSnicm 
647c755e00aSnicm 	{ .name = "message-line",
648c755e00aSnicm 	  .type = OPTIONS_TABLE_CHOICE,
649c755e00aSnicm 	  .scope = OPTIONS_TABLE_SESSION,
650c755e00aSnicm 	  .choices = options_table_message_line_list,
651c755e00aSnicm 	  .default_num = 0,
652c755e00aSnicm 	  .text = "Position (line) of messages and the command prompt."
653c755e00aSnicm 	},
654c755e00aSnicm 
655a8c9f839Snicm 	{ .name = "message-style",
65601c0c428Snicm 	  .type = OPTIONS_TABLE_STRING,
6571a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
65801c0c428Snicm 	  .default_str = "bg=yellow,fg=black",
65901c0c428Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
66067c16a7cSnicm 	  .separator = ",",
661c755e00aSnicm 	  .text = "Style of messages and the command prompt."
662a8c9f839Snicm 	},
663a8c9f839Snicm 
664e048bb79Snicm 	{ .name = "mouse",
665da26b0f5Snicm 	  .type = OPTIONS_TABLE_FLAG,
6661a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
66767c16a7cSnicm 	  .default_num = 0,
66867c16a7cSnicm 	  .text = "Whether the mouse is recognised and mouse key bindings are "
66967c16a7cSnicm 		  "executed. "
67067c16a7cSnicm 		  "Applications inside panes can use the mouse even when 'off'."
671da26b0f5Snicm 	},
672da26b0f5Snicm 
6733affa6cbSnicm 	{ .name = "prefix",
674f193b8edSnicm 	  .type = OPTIONS_TABLE_KEY,
6751a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
676719f5715Snicm 	  .default_num = 'b'|KEYC_CTRL,
67767c16a7cSnicm 	  .text = "The prefix key."
678f193b8edSnicm 	},
679f193b8edSnicm 
680f193b8edSnicm 	{ .name = "prefix2",
681f193b8edSnicm 	  .type = OPTIONS_TABLE_KEY,
6821a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
683f193b8edSnicm 	  .default_num = KEYC_NONE,
68467c16a7cSnicm 	  .text = "A second prefix key."
6853affa6cbSnicm 	},
6863affa6cbSnicm 
68753c15224Snicm 	{ .name = "renumber-windows",
68853c15224Snicm 	  .type = OPTIONS_TABLE_FLAG,
6891a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
69067c16a7cSnicm 	  .default_num = 0,
69167c16a7cSnicm 	  .text = "Whether windows are automatically renumbered rather than "
69267c16a7cSnicm 		  "leaving gaps."
69353c15224Snicm 	},
69453c15224Snicm 
6953affa6cbSnicm 	{ .name = "repeat-time",
6963affa6cbSnicm 	  .type = OPTIONS_TABLE_NUMBER,
6971a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
6983affa6cbSnicm 	  .minimum = 0,
699169573fcSnicm 	  .maximum = 2000000,
70067c16a7cSnicm 	  .default_num = 500,
70167c16a7cSnicm 	  .unit = "milliseconds",
70267c16a7cSnicm 	  .text = "Time to wait for a key binding to repeat, if it is bound "
70367c16a7cSnicm 		  "with the '-r' flag."
7043affa6cbSnicm 	},
7053affa6cbSnicm 
7063affa6cbSnicm 	{ .name = "set-titles",
7073affa6cbSnicm 	  .type = OPTIONS_TABLE_FLAG,
7081a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
70967c16a7cSnicm 	  .default_num = 0,
71067c16a7cSnicm 	  .text = "Whether to set the terminal title, if supported."
7113affa6cbSnicm 	},
7123affa6cbSnicm 
7133affa6cbSnicm 	{ .name = "set-titles-string",
7143affa6cbSnicm 	  .type = OPTIONS_TABLE_STRING,
7151a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
71667c16a7cSnicm 	  .default_str = "#S:#I:#W - \"#T\" #{session_alerts}",
71767c16a7cSnicm 	  .text = "Format of the terminal title to set."
7183affa6cbSnicm 	},
7193affa6cbSnicm 
7201328eebfSnicm 	{ .name = "silence-action",
7211328eebfSnicm 	  .type = OPTIONS_TABLE_CHOICE,
7221328eebfSnicm 	  .scope = OPTIONS_TABLE_SESSION,
7231328eebfSnicm 	  .choices = options_table_bell_action_list,
72467c16a7cSnicm 	  .default_num = ALERT_OTHER,
72567c16a7cSnicm 	  .text = "Action to take on a silence alert."
7261328eebfSnicm 	},
7271328eebfSnicm 
7283affa6cbSnicm 	{ .name = "status",
7294ffcb1c8Snicm 	  .type = OPTIONS_TABLE_CHOICE,
7301a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
7314ffcb1c8Snicm 	  .choices = options_table_status_list,
73267c16a7cSnicm 	  .default_num = 1,
73367c16a7cSnicm 	  .text = "Number of lines in the status line."
7343affa6cbSnicm 	},
7353affa6cbSnicm 
7363affa6cbSnicm 	{ .name = "status-bg",
7373affa6cbSnicm 	  .type = OPTIONS_TABLE_COLOUR,
7381a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
73901c0c428Snicm 	  .default_num = 8,
74067c16a7cSnicm 	  .text = "Background colour of the status line. This option is "
74167c16a7cSnicm 		  "deprecated, use 'status-style' instead."
7423affa6cbSnicm 	},
7433affa6cbSnicm 
7443affa6cbSnicm 	{ .name = "status-fg",
7453affa6cbSnicm 	  .type = OPTIONS_TABLE_COLOUR,
7461a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
74701c0c428Snicm 	  .default_num = 8,
74867c16a7cSnicm 	  .text = "Foreground colour of the status line. This option is "
74967c16a7cSnicm 		  "deprecated, use 'status-style' instead."
7503affa6cbSnicm 	},
7513affa6cbSnicm 
7524ffcb1c8Snicm 	{ .name = "status-format",
75384306383Snicm 	  .type = OPTIONS_TABLE_STRING,
7544ffcb1c8Snicm 	  .scope = OPTIONS_TABLE_SESSION,
75584306383Snicm 	  .flags = OPTIONS_TABLE_IS_ARRAY,
7564ffcb1c8Snicm 	  .default_arr = options_table_status_format_default,
75767c16a7cSnicm 	  .text = "Formats for the status lines. "
75867c16a7cSnicm 		  "Each array member is the format for one status line. "
75967c16a7cSnicm 		  "The default status line is made up of several components "
760f9abdc14Snicm 		  "which may be configured individually with other options such "
76167c16a7cSnicm 		  "as 'status-left'."
7624ffcb1c8Snicm 	},
7634ffcb1c8Snicm 
7643affa6cbSnicm 	{ .name = "status-interval",
7653affa6cbSnicm 	  .type = OPTIONS_TABLE_NUMBER,
7661a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
7673affa6cbSnicm 	  .minimum = 0,
7683affa6cbSnicm 	  .maximum = INT_MAX,
76967c16a7cSnicm 	  .default_num = 15,
77067c16a7cSnicm 	  .unit = "seconds",
77167c16a7cSnicm 	  .text = "Number of seconds between status line updates."
7723affa6cbSnicm 	},
7733affa6cbSnicm 
7743affa6cbSnicm 	{ .name = "status-justify",
7753affa6cbSnicm 	  .type = OPTIONS_TABLE_CHOICE,
7761a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
7773affa6cbSnicm 	  .choices = options_table_status_justify_list,
77867c16a7cSnicm 	  .default_num = 0,
77967c16a7cSnicm 	  .text = "Position of the window list in the status line."
7803affa6cbSnicm 	},
7813affa6cbSnicm 
7823affa6cbSnicm 	{ .name = "status-keys",
7833affa6cbSnicm 	  .type = OPTIONS_TABLE_CHOICE,
7841a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
7853affa6cbSnicm 	  .choices = options_table_status_keys_list,
78667c16a7cSnicm 	  .default_num = MODEKEY_EMACS,
78767c16a7cSnicm 	  .text = "Key set to use at the command prompt."
7883affa6cbSnicm 	},
7893affa6cbSnicm 
7903affa6cbSnicm 	{ .name = "status-left",
7913affa6cbSnicm 	  .type = OPTIONS_TABLE_STRING,
7921a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
79367c16a7cSnicm 	  .default_str = "[#{session_name}] ",
79467c16a7cSnicm 	  .text = "Contents of the left side of the status line."
7953affa6cbSnicm 	},
7963affa6cbSnicm 
7973affa6cbSnicm 	{ .name = "status-left-length",
7983affa6cbSnicm 	  .type = OPTIONS_TABLE_NUMBER,
7991a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
8003affa6cbSnicm 	  .minimum = 0,
8013affa6cbSnicm 	  .maximum = SHRT_MAX,
80267c16a7cSnicm 	  .default_num = 10,
80367c16a7cSnicm 	  .text = "Maximum width of the left side of the status line."
8043affa6cbSnicm 	},
8053affa6cbSnicm 
806a8c9f839Snicm 	{ .name = "status-left-style",
80701c0c428Snicm 	  .type = OPTIONS_TABLE_STRING,
8081a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
80901c0c428Snicm 	  .default_str = "default",
81001c0c428Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
81167c16a7cSnicm 	  .separator = ",",
81267c16a7cSnicm 	  .text = "Style of the left side of the status line."
813a8c9f839Snicm 	},
814a8c9f839Snicm 
815be5b7d79Snicm 	{ .name = "status-position",
816be5b7d79Snicm 	  .type = OPTIONS_TABLE_CHOICE,
8171a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
818be5b7d79Snicm 	  .choices = options_table_status_position_list,
81967c16a7cSnicm 	  .default_num = 1,
82067c16a7cSnicm 	  .text = "Position of the status line."
821be5b7d79Snicm 	},
822be5b7d79Snicm 
8233affa6cbSnicm 	{ .name = "status-right",
8243affa6cbSnicm 	  .type = OPTIONS_TABLE_STRING,
8251a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
8267b470e93Snicm 	  .default_str = "#{?window_bigger,"
8277b470e93Snicm 			 "[#{window_offset_x}#,#{window_offset_y}] ,}"
82867c16a7cSnicm 			 "\"#{=21:pane_title}\" %H:%M %d-%b-%y",
82967c16a7cSnicm 	  .text = "Contents of the right side of the status line."
83067c16a7cSnicm 
8313affa6cbSnicm 	},
8323affa6cbSnicm 
8333affa6cbSnicm 	{ .name = "status-right-length",
8343affa6cbSnicm 	  .type = OPTIONS_TABLE_NUMBER,
8351a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
8363affa6cbSnicm 	  .minimum = 0,
8373affa6cbSnicm 	  .maximum = SHRT_MAX,
83867c16a7cSnicm 	  .default_num = 40,
83967c16a7cSnicm 	  .text = "Maximum width of the right side of the status line."
8403affa6cbSnicm 	},
8413affa6cbSnicm 
842a8c9f839Snicm 	{ .name = "status-right-style",
84301c0c428Snicm 	  .type = OPTIONS_TABLE_STRING,
8441a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
84501c0c428Snicm 	  .default_str = "default",
84601c0c428Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
84767c16a7cSnicm 	  .separator = ",",
84867c16a7cSnicm 	  .text = "Style of the right side of the status line."
849a8c9f839Snicm 	},
850a8c9f839Snicm 
851a8c9f839Snicm 	{ .name = "status-style",
85201c0c428Snicm 	  .type = OPTIONS_TABLE_STRING,
8531a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
85401c0c428Snicm 	  .default_str = "bg=green,fg=black",
85501c0c428Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
85667c16a7cSnicm 	  .separator = ",",
85767c16a7cSnicm 	  .text = "Style of the status line."
858a8c9f839Snicm 	},
859a8c9f839Snicm 
86032099560Snicm 	{ .name = "prompt-cursor-colour",
86132099560Snicm 	  .type = OPTIONS_TABLE_COLOUR,
86232099560Snicm 	  .scope = OPTIONS_TABLE_SESSION,
86332099560Snicm 	  .default_num = 6,
86432099560Snicm 	  .text = "Colour of the cursor when in the command prompt."
86532099560Snicm 	},
86632099560Snicm 
86732099560Snicm 	{ .name = "prompt-cursor-style",
86832099560Snicm 	  .type = OPTIONS_TABLE_CHOICE,
86932099560Snicm 	  .scope = OPTIONS_TABLE_SESSION,
87032099560Snicm 	  .choices = options_table_cursor_style_list,
87132099560Snicm 	  .default_num = 0,
87232099560Snicm 	  .text = "Style of the cursor when in the command prompt."
87332099560Snicm 	},
87432099560Snicm 
8753affa6cbSnicm 	{ .name = "update-environment",
87684306383Snicm 	  .type = OPTIONS_TABLE_STRING,
8771a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
87884306383Snicm 	  .flags = OPTIONS_TABLE_IS_ARRAY,
8790fc5fa38Snicm 	  .default_str = "DISPLAY KRB5CCNAME MSYSTEM SSH_ASKPASS SSH_AUTH_SOCK "
88067c16a7cSnicm 			 "SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY",
88167c16a7cSnicm 	  .text = "List of environment variables to update in the session "
88267c16a7cSnicm 		  "environment when a client is attached."
8833affa6cbSnicm 	},
8843affa6cbSnicm 
8853affa6cbSnicm 	{ .name = "visual-activity",
8861328eebfSnicm 	  .type = OPTIONS_TABLE_CHOICE,
8871a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
8881328eebfSnicm 	  .choices = options_table_visual_bell_list,
88967c16a7cSnicm 	  .default_num = VISUAL_OFF,
89067c16a7cSnicm 	  .text = "How activity alerts should be shown: a message ('on'), "
89167c16a7cSnicm 		  "a message and a bell ('both') or nothing ('off')."
8923affa6cbSnicm 	},
8933affa6cbSnicm 
8943affa6cbSnicm 	{ .name = "visual-bell",
8951328eebfSnicm 	  .type = OPTIONS_TABLE_CHOICE,
8961a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
8971328eebfSnicm 	  .choices = options_table_visual_bell_list,
89867c16a7cSnicm 	  .default_num = VISUAL_OFF,
89967c16a7cSnicm 	  .text = "How bell alerts should be shown: a message ('on'), "
90067c16a7cSnicm 		  "a message and a bell ('both') or nothing ('off')."
9013affa6cbSnicm 	},
9023affa6cbSnicm 
9033affa6cbSnicm 	{ .name = "visual-silence",
9041328eebfSnicm 	  .type = OPTIONS_TABLE_CHOICE,
9051a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
9061328eebfSnicm 	  .choices = options_table_visual_bell_list,
90767c16a7cSnicm 	  .default_num = VISUAL_OFF,
90867c16a7cSnicm 	  .text = "How silence alerts should be shown: a message ('on'), "
90967c16a7cSnicm 		  "a message and a bell ('both') or nothing ('off')."
9103affa6cbSnicm 	},
9113affa6cbSnicm 
9126b966092Snicm 	{ .name = "word-separators",
9136b966092Snicm 	  .type = OPTIONS_TABLE_STRING,
9141a5f7318Snicm 	  .scope = OPTIONS_TABLE_SESSION,
9158f36458cSnicm 	  /*
9168f36458cSnicm 	   * The set of non-alphanumeric printable ASCII characters minus the
9178f36458cSnicm 	   * underscore.
9188f36458cSnicm 	   */
9198f36458cSnicm 	  .default_str = "!\"#$%&'()*+,-./:;<=>?@[\\]^`{|}~",
92067c16a7cSnicm 	  .text = "Characters considered to separate words."
9216b966092Snicm 	},
9226b966092Snicm 
923844b9093Snicm 	/* Window options. */
9243affa6cbSnicm 	{ .name = "aggressive-resize",
9253affa6cbSnicm 	  .type = OPTIONS_TABLE_FLAG,
9261a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
92767c16a7cSnicm 	  .default_num = 0,
92867c16a7cSnicm 	  .text = "When 'window-size' is 'smallest', whether the maximum size "
92967c16a7cSnicm 		  "of a window is the smallest attached session where it is "
93067c16a7cSnicm 		  "the current window ('on') or the smallest session it is "
93167c16a7cSnicm 		  "linked to ('off')."
9323affa6cbSnicm 	},
9333affa6cbSnicm 
9345e0eec07Snicm 	{ .name = "allow-passthrough",
935930d157dSnicm 	  .type = OPTIONS_TABLE_CHOICE,
9365e0eec07Snicm 	  .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
937930d157dSnicm 	  .choices = options_table_allow_passthrough_list,
9385e0eec07Snicm 	  .default_num = 0,
9395e0eec07Snicm 	  .text = "Whether applications are allowed to use the escape sequence "
940930d157dSnicm 		  "to bypass tmux. Can be 'off' (disallowed), 'on' (allowed "
941930d157dSnicm 		  "if the pane is visible), or 'all' (allowed even if the pane "
942930d157dSnicm 		  "is invisible)."
9435e0eec07Snicm 	},
9445e0eec07Snicm 
9458d7ec369Snicm 	{ .name = "allow-rename",
9468d7ec369Snicm 	  .type = OPTIONS_TABLE_FLAG,
947802d7db7Snicm 	  .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
94867c16a7cSnicm 	  .default_num = 0,
94967c16a7cSnicm 	  .text = "Whether applications are allowed to use the escape sequence "
95067c16a7cSnicm 		  "to rename windows."
9518d7ec369Snicm 	},
9528d7ec369Snicm 
9538db6b63cSnicm 	{ .name = "allow-set-title",
9548db6b63cSnicm 	  .type = OPTIONS_TABLE_FLAG,
9558db6b63cSnicm 	  .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
9568db6b63cSnicm 	  .default_num = 1,
9578db6b63cSnicm 	  .text = "Whether applications are allowed to use the escape sequence "
9588db6b63cSnicm 		  "to set the pane title."
9598db6b63cSnicm 	},
9608db6b63cSnicm 
9613affa6cbSnicm 	{ .name = "alternate-screen",
9623affa6cbSnicm 	  .type = OPTIONS_TABLE_FLAG,
963802d7db7Snicm 	  .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
96467c16a7cSnicm 	  .default_num = 1,
96567c16a7cSnicm 	  .text = "Whether applications are allowed to use the alternate "
96667c16a7cSnicm 		  "screen."
9673affa6cbSnicm 	},
9683affa6cbSnicm 
9693affa6cbSnicm 	{ .name = "automatic-rename",
9703affa6cbSnicm 	  .type = OPTIONS_TABLE_FLAG,
9711a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
97267c16a7cSnicm 	  .default_num = 1,
97367c16a7cSnicm 	  .text = "Whether windows are automatically renamed."
9743affa6cbSnicm 	},
9753affa6cbSnicm 
976203ea44bSnicm 	{ .name = "automatic-rename-format",
977203ea44bSnicm 	  .type = OPTIONS_TABLE_STRING,
9781a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
9792af83d34Snicm 	  .default_str = "#{?pane_in_mode,[tmux],#{pane_current_command}}"
98067c16a7cSnicm 			 "#{?pane_dead,[dead],}",
98167c16a7cSnicm 	  .text = "Format used to automatically rename windows."
982203ea44bSnicm 	},
983203ea44bSnicm 
9843affa6cbSnicm 	{ .name = "clock-mode-colour",
9853affa6cbSnicm 	  .type = OPTIONS_TABLE_COLOUR,
9861a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
98767c16a7cSnicm 	  .default_num = 4,
98867c16a7cSnicm 	  .text = "Colour of the clock in clock mode."
9893affa6cbSnicm 	},
9903affa6cbSnicm 
9913affa6cbSnicm 	{ .name = "clock-mode-style",
9923affa6cbSnicm 	  .type = OPTIONS_TABLE_CHOICE,
9931a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
9943affa6cbSnicm 	  .choices = options_table_clock_mode_style_list,
99567c16a7cSnicm 	  .default_num = 1,
99667c16a7cSnicm 	  .text = "Time format of the clock in clock mode."
9973affa6cbSnicm 	},
9983affa6cbSnicm 
9994d951239Snicm 	{ .name = "copy-mode-match-style",
10004d951239Snicm 	  .type = OPTIONS_TABLE_STRING,
10014d951239Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
10024d951239Snicm 	  .default_str = "bg=cyan,fg=black",
10034d951239Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
100467c16a7cSnicm 	  .separator = ",",
100567c16a7cSnicm 	  .text = "Style of search matches in copy mode."
10064d951239Snicm 	},
10074d951239Snicm 
10084d951239Snicm 	{ .name = "copy-mode-current-match-style",
10094d951239Snicm 	  .type = OPTIONS_TABLE_STRING,
10104d951239Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
10114d951239Snicm 	  .default_str = "bg=magenta,fg=black",
10124d951239Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
101367c16a7cSnicm 	  .separator = ",",
101467c16a7cSnicm 	  .text = "Style of the current search match in copy mode."
10154d951239Snicm 	},
10164d951239Snicm 
1017ac95e3acSnicm 	{ .name = "copy-mode-mark-style",
1018ac95e3acSnicm 	  .type = OPTIONS_TABLE_STRING,
1019ac95e3acSnicm 	  .scope = OPTIONS_TABLE_WINDOW,
1020ac95e3acSnicm 	  .default_str = "bg=red,fg=black",
1021ac95e3acSnicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
1022ac95e3acSnicm 	  .separator = ",",
1023ac95e3acSnicm 	  .text = "Style of the marked line in copy mode."
1024ac95e3acSnicm 	},
1025ac95e3acSnicm 
102643ac8c28Snicm 	{ .name = "copy-mode-position-format",
102743ac8c28Snicm 	  .type = OPTIONS_TABLE_STRING,
102843ac8c28Snicm 	  .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
102943ac8c28Snicm 	  .default_str = "#[align=right]"
103043ac8c28Snicm 	                 "#{t/p:top_line_time}#{?#{e|>:#{top_line_time},0}, ,}"
103143ac8c28Snicm 	                 "[#{scroll_position}/#{history_size}]"
103243ac8c28Snicm 	                 "#{?search_timed_out, (timed out),"
103343ac8c28Snicm 	                 "#{?search_count, (#{search_count}"
103443ac8c28Snicm 	                 "#{?search_count_partial,+,} results),}}",
103543ac8c28Snicm 	  .text = "Format of the position indicator in copy mode."
103643ac8c28Snicm 	},
103743ac8c28Snicm 
10384d3ac07aSnicm 	{ .name = "copy-mode-position-style",
10394d3ac07aSnicm 	  .type = OPTIONS_TABLE_STRING,
10404d3ac07aSnicm 	  .scope = OPTIONS_TABLE_WINDOW,
10414d3ac07aSnicm 	  .default_str = "#{mode-style}",
10424d3ac07aSnicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
10434d3ac07aSnicm 	  .separator = ",",
10444d3ac07aSnicm 	  .text = "Style of position indicator in copy mode."
10454d3ac07aSnicm 	},
10464d3ac07aSnicm 
10474d3ac07aSnicm 	{ .name = "copy-mode-selection-style",
10484d3ac07aSnicm 	  .type = OPTIONS_TABLE_STRING,
10494d3ac07aSnicm 	  .scope = OPTIONS_TABLE_WINDOW,
10504d3ac07aSnicm 	  .default_str = "#{mode-style}",
10514d3ac07aSnicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
10524d3ac07aSnicm 	  .separator = ",",
10534d3ac07aSnicm 	  .text = "Style of selection in copy mode."
10544d3ac07aSnicm 	},
10554d3ac07aSnicm 
10562c25e4b4Snicm 	{ .name = "fill-character",
10572c25e4b4Snicm 	  .type = OPTIONS_TABLE_STRING,
10582c25e4b4Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
10592c25e4b4Snicm 	  .default_str = "",
10602c25e4b4Snicm 	  .text = "Character used to fill unused parts of window."
10612c25e4b4Snicm 	},
10622c25e4b4Snicm 
10633affa6cbSnicm 	{ .name = "main-pane-height",
1064c6e6a0b3Snicm 	  .type = OPTIONS_TABLE_STRING,
10651a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
106667c16a7cSnicm 	  .default_str = "24",
106767c16a7cSnicm 	  .text = "Height of the main pane in the 'main-horizontal' layout. "
106867c16a7cSnicm 		  "This may be a percentage, for example '10%'."
10693affa6cbSnicm 	},
10703affa6cbSnicm 
10713affa6cbSnicm 	{ .name = "main-pane-width",
1072c6e6a0b3Snicm 	  .type = OPTIONS_TABLE_STRING,
10731a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
107467c16a7cSnicm 	  .default_str = "80",
107567c16a7cSnicm 	  .text = "Width of the main pane in the 'main-vertical' layout. "
107667c16a7cSnicm 		  "This may be a percentage, for example '10%'."
10773affa6cbSnicm 	},
10783affa6cbSnicm 
10793affa6cbSnicm 	{ .name = "mode-keys",
10803affa6cbSnicm 	  .type = OPTIONS_TABLE_CHOICE,
10811a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
10823affa6cbSnicm 	  .choices = options_table_mode_keys_list,
108367c16a7cSnicm 	  .default_num = MODEKEY_EMACS,
108467c16a7cSnicm 	  .text = "Key set used in copy mode."
10853affa6cbSnicm 	},
10863affa6cbSnicm 
1087a8c9f839Snicm 	{ .name = "mode-style",
108801c0c428Snicm 	  .type = OPTIONS_TABLE_STRING,
10891a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
109001c0c428Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
109119c94b00Snicm 	  .default_str = "bg=yellow,fg=black",
109267c16a7cSnicm 	  .separator = ",",
109367c16a7cSnicm 	  .text = "Style of indicators and highlighting in modes."
1094a8c9f839Snicm 	},
1095a8c9f839Snicm 
10963affa6cbSnicm 	{ .name = "monitor-activity",
10973affa6cbSnicm 	  .type = OPTIONS_TABLE_FLAG,
10981a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
109967c16a7cSnicm 	  .default_num = 0,
110067c16a7cSnicm 	  .text = "Whether an alert is triggered by activity."
11013affa6cbSnicm 	},
11023affa6cbSnicm 
11039a48cd7dSnicm 	{ .name = "monitor-bell",
11049a48cd7dSnicm 	  .type = OPTIONS_TABLE_FLAG,
11059a48cd7dSnicm 	  .scope = OPTIONS_TABLE_WINDOW,
110667c16a7cSnicm 	  .default_num = 1,
110767c16a7cSnicm 	  .text = "Whether an alert is triggered by a bell."
11089a48cd7dSnicm 	},
11099a48cd7dSnicm 
11103affa6cbSnicm 	{ .name = "monitor-silence",
11113affa6cbSnicm 	  .type = OPTIONS_TABLE_NUMBER,
11121a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
11133affa6cbSnicm 	  .minimum = 0,
11143affa6cbSnicm 	  .maximum = INT_MAX,
111567c16a7cSnicm 	  .default_num = 0,
111667c16a7cSnicm 	  .text = "Time after which an alert is triggered by silence. "
111767c16a7cSnicm 		  "Zero means no alert."
111867c16a7cSnicm 
11193affa6cbSnicm 	},
11203affa6cbSnicm 
11213affa6cbSnicm 	{ .name = "other-pane-height",
1122c6e6a0b3Snicm 	  .type = OPTIONS_TABLE_STRING,
11231a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
112467c16a7cSnicm 	  .default_str = "0",
112567c16a7cSnicm 	  .text = "Height of the other panes in the 'main-horizontal' layout. "
112667c16a7cSnicm 		  "This may be a percentage, for example '10%'."
11273affa6cbSnicm 	},
11283affa6cbSnicm 
11293affa6cbSnicm 	{ .name = "other-pane-width",
1130c6e6a0b3Snicm 	  .type = OPTIONS_TABLE_STRING,
11311a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
113267c16a7cSnicm 	  .default_str = "0",
113367c16a7cSnicm 	  .text = "Height of the other panes in the 'main-vertical' layout. "
113467c16a7cSnicm 		  "This may be a percentage, for example '10%'."
11353affa6cbSnicm 	},
11363affa6cbSnicm 
11372407b6c5Snicm 	{ .name = "pane-active-border-style",
113801c0c428Snicm 	  .type = OPTIONS_TABLE_STRING,
11391a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
114001c0c428Snicm 	  .default_str = "#{?pane_in_mode,fg=yellow,#{?synchronize-panes,fg=red,fg=green}}",
114101c0c428Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
114267c16a7cSnicm 	  .separator = ",",
114367c16a7cSnicm 	  .text = "Style of the active pane border."
11442407b6c5Snicm 	},
11452407b6c5Snicm 
1146a00eca41Snicm 	{ .name = "pane-base-index",
1147a00eca41Snicm 	  .type = OPTIONS_TABLE_NUMBER,
11481a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
1149a00eca41Snicm 	  .minimum = 0,
1150a00eca41Snicm 	  .maximum = USHRT_MAX,
115167c16a7cSnicm 	  .default_num = 0,
115267c16a7cSnicm 	  .text = "Index of the first pane in each window."
1153a00eca41Snicm 	},
1154a00eca41Snicm 
1155bc3b19faSnicm 	{ .name = "pane-border-format",
1156bc3b19faSnicm 	  .type = OPTIONS_TABLE_STRING,
11576df1256bSnicm 	  .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
11585fcc80c9Snicm 	  .default_str = "#{?pane_active,#[reverse],}#{pane_index}#[default] "
115967c16a7cSnicm 			 "\"#{pane_title}\"",
116067c16a7cSnicm 	  .text = "Format of text in the pane status lines."
1161bc3b19faSnicm 	},
1162bc3b19faSnicm 
1163dea11c3cSnicm 	{ .name = "pane-border-indicators",
1164dea11c3cSnicm 	  .type = OPTIONS_TABLE_CHOICE,
1165dea11c3cSnicm 	  .scope = OPTIONS_TABLE_WINDOW,
1166dea11c3cSnicm 	  .choices = options_table_pane_border_indicators_list,
1167dea11c3cSnicm 	  .default_num = PANE_BORDER_COLOUR,
1168dea11c3cSnicm 	  .text = "Whether to indicate the active pane by colouring border or "
1169dea11c3cSnicm 		  "displaying arrow markers."
1170dea11c3cSnicm 	},
1171dea11c3cSnicm 
1172523d1daeSnicm 	{ .name = "pane-border-lines",
1173523d1daeSnicm 	  .type = OPTIONS_TABLE_CHOICE,
1174523d1daeSnicm 	  .scope = OPTIONS_TABLE_WINDOW,
1175ccb627cdSnicm 	  .choices = options_table_pane_border_lines_list,
1176523d1daeSnicm 	  .default_num = PANE_LINES_SINGLE,
1177f9abdc14Snicm 	  .text = "Type of characters used to draw pane border lines. Some of "
1178f9abdc14Snicm 		  "these are only supported on terminals with UTF-8 support."
1179523d1daeSnicm 	},
1180523d1daeSnicm 
1181bc3b19faSnicm 	{ .name = "pane-border-status",
1182bc3b19faSnicm 	  .type = OPTIONS_TABLE_CHOICE,
1183bc3b19faSnicm 	  .scope = OPTIONS_TABLE_WINDOW,
1184bc3b19faSnicm 	  .choices = options_table_pane_status_list,
118567c16a7cSnicm 	  .default_num = PANE_STATUS_OFF,
118667c16a7cSnicm 	  .text = "Position of the pane status lines."
1187bc3b19faSnicm 	},
1188bc3b19faSnicm 
11892407b6c5Snicm 	{ .name = "pane-border-style",
119001c0c428Snicm 	  .type = OPTIONS_TABLE_STRING,
11911a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
119201c0c428Snicm 	  .default_str = "default",
119301c0c428Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
119467c16a7cSnicm 	  .separator = ",",
119567c16a7cSnicm 	  .text = "Style of the pane status lines."
11962407b6c5Snicm 	},
11972407b6c5Snicm 
119833a1e283Snicm 	{ .name = "pane-colours",
119933a1e283Snicm 	  .type = OPTIONS_TABLE_COLOUR,
120033a1e283Snicm 	  .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
120133a1e283Snicm 	  .default_str = "",
120233a1e283Snicm 	  .flags = OPTIONS_TABLE_IS_ARRAY,
120333a1e283Snicm 	  .text = "The default colour palette for colours zero to 255."
120433a1e283Snicm 	},
120533a1e283Snicm 
1206d2117533Snicm 	{ .name = "pane-scrollbars",
1207d2117533Snicm 	  .type = OPTIONS_TABLE_CHOICE,
1208d2117533Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
1209d2117533Snicm 	  .choices = options_table_pane_scrollbars_list,
1210d2117533Snicm 	  .default_num = PANE_SCROLLBARS_OFF,
1211d2117533Snicm 	  .text = "Pane scrollbar state."
1212d2117533Snicm 	},
1213d2117533Snicm 
1214d2117533Snicm 	{ .name = "pane-scrollbars-style",
1215d2117533Snicm 	  .type = OPTIONS_TABLE_STRING,
1216d2117533Snicm 	  .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
1217dd0df669Snicm 	  .default_str = "bg=black,fg=white,width=1,pad=0",
1218d2117533Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
1219d2117533Snicm 	  .separator = ",",
1220d2117533Snicm 	  .text = "Style of the pane scrollbar."
1221d2117533Snicm 	},
1222d2117533Snicm 
1223d2117533Snicm 	{ .name = "pane-scrollbars-position",
1224d2117533Snicm 	  .type = OPTIONS_TABLE_CHOICE,
1225d2117533Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
1226d2117533Snicm 	  .choices = options_table_pane_scrollbars_position_list,
1227d2117533Snicm 	  .default_num = PANE_SCROLLBARS_RIGHT,
1228d2117533Snicm 	  .text = "Pane scrollbar position."
1229d2117533Snicm 	},
1230d2117533Snicm 
1231ff8fb92bSnicm         { .name = "popup-style",
1232ff8fb92bSnicm 	  .type = OPTIONS_TABLE_STRING,
1233ff8fb92bSnicm 	  .scope = OPTIONS_TABLE_WINDOW,
1234ff8fb92bSnicm 	  .default_str = "default",
1235ff8fb92bSnicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
1236ff8fb92bSnicm 	  .separator = ",",
1237ff8fb92bSnicm 	  .text = "Default style of popups."
1238ff8fb92bSnicm 	},
1239ff8fb92bSnicm 
1240ff8fb92bSnicm 	{ .name = "popup-border-style",
1241ff8fb92bSnicm 	  .type = OPTIONS_TABLE_STRING,
1242ff8fb92bSnicm 	  .scope = OPTIONS_TABLE_WINDOW,
1243ff8fb92bSnicm 	  .default_str = "default",
1244ff8fb92bSnicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
1245ff8fb92bSnicm 	  .separator = ",",
1246ff8fb92bSnicm 	  .text = "Default style of popup borders."
1247ff8fb92bSnicm 	},
1248ff8fb92bSnicm 
1249ccb627cdSnicm 	{ .name = "popup-border-lines",
1250ccb627cdSnicm 	  .type = OPTIONS_TABLE_CHOICE,
1251ccb627cdSnicm 	  .scope = OPTIONS_TABLE_WINDOW,
1252ccb627cdSnicm 	  .choices = options_table_popup_border_lines_list,
1253ccb627cdSnicm 	  .default_num = BOX_LINES_SINGLE,
1254ccb627cdSnicm 	  .text = "Type of characters used to draw popup border lines. Some of "
1255ccb627cdSnicm 		  "these are only supported on terminals with UTF-8 support."
1256ccb627cdSnicm 	},
1257ccb627cdSnicm 
12583affa6cbSnicm 	{ .name = "remain-on-exit",
1259c93e2546Snicm 	  .type = OPTIONS_TABLE_CHOICE,
12606e0f28f8Snicm 	  .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
1261c93e2546Snicm 	  .choices = options_table_remain_on_exit_list,
126267c16a7cSnicm 	  .default_num = 0,
126367c16a7cSnicm 	  .text = "Whether panes should remain ('on') or be automatically "
1264c93e2546Snicm 		  "killed ('off' or 'failed') when the program inside exits."
12653affa6cbSnicm 	},
12663affa6cbSnicm 
12678d518d48Snicm 	{ .name = "remain-on-exit-format",
12688d518d48Snicm 	  .type = OPTIONS_TABLE_STRING,
12698d518d48Snicm 	  .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
12708d518d48Snicm 	  .default_str = "Pane is dead ("
12718d518d48Snicm 			 "#{?#{!=:#{pane_dead_status},},"
12728d518d48Snicm 	                 "status #{pane_dead_status},}"
12738d518d48Snicm 			 "#{?#{!=:#{pane_dead_signal},},"
12748d518d48Snicm 	                 "signal #{pane_dead_signal},}, "
12758d518d48Snicm 			 "#{t:pane_dead_time})",
12768d518d48Snicm 	  .text = "Message shown after the program in a pane has exited, if "
12778d518d48Snicm 	          "remain-on-exit is enabled."
12788d518d48Snicm 	},
12798d518d48Snicm 
12805df43dd6Snicm 	{ .name = "scroll-on-clear",
12815df43dd6Snicm 	  .type = OPTIONS_TABLE_FLAG,
12825df43dd6Snicm 	  .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
12835df43dd6Snicm 	  .default_num = 1,
12845df43dd6Snicm 	  .text = "Whether the contents of the screen should be scrolled into"
12855df43dd6Snicm 		  "history when clearing the whole screen."
12865df43dd6Snicm 	},
12875df43dd6Snicm 
12883affa6cbSnicm 	{ .name = "synchronize-panes",
12893affa6cbSnicm 	  .type = OPTIONS_TABLE_FLAG,
12908367f274Snicm 	  .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
129167c16a7cSnicm 	  .default_num = 0,
129267c16a7cSnicm 	  .text = "Whether typing should be sent to all panes simultaneously."
12933affa6cbSnicm 	},
12943affa6cbSnicm 
1295e63da244Snicm 	{ .name = "window-active-style",
129601c0c428Snicm 	  .type = OPTIONS_TABLE_STRING,
12976e0f28f8Snicm 	  .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
129801c0c428Snicm 	  .default_str = "default",
129901c0c428Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
130067c16a7cSnicm 	  .separator = ",",
130167c16a7cSnicm 	  .text = "Default style of the active pane."
1302e63da244Snicm 	},
1303e63da244Snicm 
13047b470e93Snicm 	{ .name = "window-size",
13057b470e93Snicm 	  .type = OPTIONS_TABLE_CHOICE,
13067b470e93Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
13077b470e93Snicm 	  .choices = options_table_window_size_list,
130867c16a7cSnicm 	  .default_num = WINDOW_SIZE_LATEST,
130967c16a7cSnicm 	  .text = "How window size is calculated. "
131067c16a7cSnicm 		  "'latest' uses the size of the most recently used client, "
131167c16a7cSnicm 		  "'largest' the largest client, 'smallest' the smallest "
131267c16a7cSnicm 		  "client and 'manual' a size set by the 'resize-window' "
131367c16a7cSnicm 		  "command."
13147b470e93Snicm 	},
13157b470e93Snicm 
1316e63da244Snicm 	{ .name = "window-style",
131701c0c428Snicm 	  .type = OPTIONS_TABLE_STRING,
13186e0f28f8Snicm 	  .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE,
131901c0c428Snicm 	  .default_str = "default",
132001c0c428Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
132167c16a7cSnicm 	  .separator = ",",
132267c16a7cSnicm 	  .text = "Default style of panes that are not the active pane."
1323e63da244Snicm 	},
1324e63da244Snicm 
1325a8c9f839Snicm 	{ .name = "window-status-activity-style",
132601c0c428Snicm 	  .type = OPTIONS_TABLE_STRING,
13271a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
132801c0c428Snicm 	  .default_str = "reverse",
132901c0c428Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
133067c16a7cSnicm 	  .separator = ",",
133167c16a7cSnicm 	  .text = "Style of windows in the status line with an activity alert."
1332930622a6Snicm 	},
1333930622a6Snicm 
1334a8c9f839Snicm 	{ .name = "window-status-bell-style",
133501c0c428Snicm 	  .type = OPTIONS_TABLE_STRING,
13361a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
133701c0c428Snicm 	  .default_str = "reverse",
133801c0c428Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
133967c16a7cSnicm 	  .separator = ",",
134067c16a7cSnicm 	  .text = "Style of windows in the status line with a bell alert."
13413affa6cbSnicm 	},
13423affa6cbSnicm 
13433affa6cbSnicm 	{ .name = "window-status-current-format",
13443affa6cbSnicm 	  .type = OPTIONS_TABLE_STRING,
13451a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
1346b1a38154Snicm 	  .default_str = "#I:#W#{?window_flags,#{window_flags}, }",
134767c16a7cSnicm 	  .text = "Format of the current window in the status line."
13483affa6cbSnicm 	},
13493affa6cbSnicm 
1350a8c9f839Snicm 	{ .name = "window-status-current-style",
135101c0c428Snicm 	  .type = OPTIONS_TABLE_STRING,
13521a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
135301c0c428Snicm 	  .default_str = "default",
135401c0c428Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
135567c16a7cSnicm 	  .separator = ",",
135667c16a7cSnicm 	  .text = "Style of the current window in the status line."
13572a8de702Snicm 	},
13582a8de702Snicm 
13593affa6cbSnicm 	{ .name = "window-status-format",
13603affa6cbSnicm 	  .type = OPTIONS_TABLE_STRING,
13611a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
1362b1a38154Snicm 	  .default_str = "#I:#W#{?window_flags,#{window_flags}, }",
136367c16a7cSnicm 	  .text = "Format of windows in the status line, except the current "
136467c16a7cSnicm 		  "window."
13653affa6cbSnicm 	},
13663affa6cbSnicm 
1367a8c9f839Snicm 	{ .name = "window-status-last-style",
136801c0c428Snicm 	  .type = OPTIONS_TABLE_STRING,
13691a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
137001c0c428Snicm 	  .default_str = "default",
137101c0c428Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
137267c16a7cSnicm 	  .separator = ",",
137367c16a7cSnicm 	  .text = "Style of the last window in the status line."
1374a8c9f839Snicm 	},
1375a8c9f839Snicm 
137619f84c58Snicm 	{ .name = "window-status-separator",
137719f84c58Snicm 	  .type = OPTIONS_TABLE_STRING,
13781a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
137967c16a7cSnicm 	  .default_str = " ",
138067c16a7cSnicm 	  .text = "Separator between windows in the status line."
138119f84c58Snicm 	},
138219f84c58Snicm 
1383a8c9f839Snicm 	{ .name = "window-status-style",
138401c0c428Snicm 	  .type = OPTIONS_TABLE_STRING,
13851a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
138601c0c428Snicm 	  .default_str = "default",
138701c0c428Snicm 	  .flags = OPTIONS_TABLE_IS_STYLE,
138867c16a7cSnicm 	  .separator = ",",
138967c16a7cSnicm 	  .text = "Style of windows in the status line, except the current and "
139067c16a7cSnicm 		  "last windows."
1391a8c9f839Snicm 	},
1392a8c9f839Snicm 
13936a2561dfSnicm 	{ .name = "wrap-search",
13946a2561dfSnicm 	  .type = OPTIONS_TABLE_FLAG,
13951a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
139667c16a7cSnicm 	  .default_num = 1,
139767c16a7cSnicm 	  .text = "Whether searching in copy mode should wrap at the top or "
139867c16a7cSnicm 		  "bottom."
13996a2561dfSnicm 	},
14006a2561dfSnicm 
14019265d1acSnicm 	{ .name = "xterm-keys", /* no longer used */
14023affa6cbSnicm 	  .type = OPTIONS_TABLE_FLAG,
14031a5f7318Snicm 	  .scope = OPTIONS_TABLE_WINDOW,
140467c16a7cSnicm 	  .default_num = 1,
140567c16a7cSnicm 	  .text = "Whether xterm-style function key sequences should be sent. "
14069265d1acSnicm 		  "This option is no longer used."
14073affa6cbSnicm 	},
14083affa6cbSnicm 
1409844b9093Snicm 	/* Hook options. */
1410844b9093Snicm 	OPTIONS_TABLE_HOOK("after-bind-key", ""),
1411844b9093Snicm 	OPTIONS_TABLE_HOOK("after-capture-pane", ""),
1412844b9093Snicm 	OPTIONS_TABLE_HOOK("after-copy-mode", ""),
1413844b9093Snicm 	OPTIONS_TABLE_HOOK("after-display-message", ""),
1414844b9093Snicm 	OPTIONS_TABLE_HOOK("after-display-panes", ""),
1415449be3e3Snicm 	OPTIONS_TABLE_HOOK("after-kill-pane", ""),
1416844b9093Snicm 	OPTIONS_TABLE_HOOK("after-list-buffers", ""),
1417844b9093Snicm 	OPTIONS_TABLE_HOOK("after-list-clients", ""),
1418844b9093Snicm 	OPTIONS_TABLE_HOOK("after-list-keys", ""),
1419844b9093Snicm 	OPTIONS_TABLE_HOOK("after-list-panes", ""),
1420844b9093Snicm 	OPTIONS_TABLE_HOOK("after-list-sessions", ""),
1421844b9093Snicm 	OPTIONS_TABLE_HOOK("after-list-windows", ""),
1422844b9093Snicm 	OPTIONS_TABLE_HOOK("after-load-buffer", ""),
1423844b9093Snicm 	OPTIONS_TABLE_HOOK("after-lock-server", ""),
1424844b9093Snicm 	OPTIONS_TABLE_HOOK("after-new-session", ""),
1425844b9093Snicm 	OPTIONS_TABLE_HOOK("after-new-window", ""),
1426844b9093Snicm 	OPTIONS_TABLE_HOOK("after-paste-buffer", ""),
1427844b9093Snicm 	OPTIONS_TABLE_HOOK("after-pipe-pane", ""),
1428844b9093Snicm 	OPTIONS_TABLE_HOOK("after-queue", ""),
1429844b9093Snicm 	OPTIONS_TABLE_HOOK("after-refresh-client", ""),
1430844b9093Snicm 	OPTIONS_TABLE_HOOK("after-rename-session", ""),
1431844b9093Snicm 	OPTIONS_TABLE_HOOK("after-rename-window", ""),
1432844b9093Snicm 	OPTIONS_TABLE_HOOK("after-resize-pane", ""),
1433844b9093Snicm 	OPTIONS_TABLE_HOOK("after-resize-window", ""),
1434844b9093Snicm 	OPTIONS_TABLE_HOOK("after-save-buffer", ""),
1435844b9093Snicm 	OPTIONS_TABLE_HOOK("after-select-layout", ""),
1436844b9093Snicm 	OPTIONS_TABLE_HOOK("after-select-pane", ""),
1437844b9093Snicm 	OPTIONS_TABLE_HOOK("after-select-window", ""),
1438844b9093Snicm 	OPTIONS_TABLE_HOOK("after-send-keys", ""),
1439844b9093Snicm 	OPTIONS_TABLE_HOOK("after-set-buffer", ""),
1440844b9093Snicm 	OPTIONS_TABLE_HOOK("after-set-environment", ""),
1441844b9093Snicm 	OPTIONS_TABLE_HOOK("after-set-hook", ""),
1442844b9093Snicm 	OPTIONS_TABLE_HOOK("after-set-option", ""),
1443844b9093Snicm 	OPTIONS_TABLE_HOOK("after-show-environment", ""),
1444844b9093Snicm 	OPTIONS_TABLE_HOOK("after-show-messages", ""),
1445844b9093Snicm 	OPTIONS_TABLE_HOOK("after-show-options", ""),
1446844b9093Snicm 	OPTIONS_TABLE_HOOK("after-split-window", ""),
1447844b9093Snicm 	OPTIONS_TABLE_HOOK("after-unbind-key", ""),
1448844b9093Snicm 	OPTIONS_TABLE_HOOK("alert-activity", ""),
1449844b9093Snicm 	OPTIONS_TABLE_HOOK("alert-bell", ""),
1450844b9093Snicm 	OPTIONS_TABLE_HOOK("alert-silence", ""),
14510dc5be0dSnicm 	OPTIONS_TABLE_HOOK("client-active", ""),
1452844b9093Snicm 	OPTIONS_TABLE_HOOK("client-attached", ""),
1453844b9093Snicm 	OPTIONS_TABLE_HOOK("client-detached", ""),
1454698bdd54Snicm 	OPTIONS_TABLE_HOOK("client-focus-in", ""),
1455698bdd54Snicm 	OPTIONS_TABLE_HOOK("client-focus-out", ""),
1456844b9093Snicm 	OPTIONS_TABLE_HOOK("client-resized", ""),
1457844b9093Snicm 	OPTIONS_TABLE_HOOK("client-session-changed", ""),
14581adaafb7Snicm 	OPTIONS_TABLE_HOOK("command-error", ""),
1459b9cb9f01Snicm 	OPTIONS_TABLE_PANE_HOOK("pane-died", ""),
1460b9cb9f01Snicm 	OPTIONS_TABLE_PANE_HOOK("pane-exited", ""),
1461b9cb9f01Snicm 	OPTIONS_TABLE_PANE_HOOK("pane-focus-in", ""),
1462b9cb9f01Snicm 	OPTIONS_TABLE_PANE_HOOK("pane-focus-out", ""),
1463b9cb9f01Snicm 	OPTIONS_TABLE_PANE_HOOK("pane-mode-changed", ""),
1464b9cb9f01Snicm 	OPTIONS_TABLE_PANE_HOOK("pane-set-clipboard", ""),
1465073a2214Snicm 	OPTIONS_TABLE_PANE_HOOK("pane-title-changed", ""),
1466844b9093Snicm 	OPTIONS_TABLE_HOOK("session-closed", ""),
1467844b9093Snicm 	OPTIONS_TABLE_HOOK("session-created", ""),
1468844b9093Snicm 	OPTIONS_TABLE_HOOK("session-renamed", ""),
1469844b9093Snicm 	OPTIONS_TABLE_HOOK("session-window-changed", ""),
1470b9cb9f01Snicm 	OPTIONS_TABLE_WINDOW_HOOK("window-layout-changed", ""),
1471480d0dfeSnicm 	OPTIONS_TABLE_HOOK("window-linked", ""),
1472b9cb9f01Snicm 	OPTIONS_TABLE_WINDOW_HOOK("window-pane-changed", ""),
1473b9cb9f01Snicm 	OPTIONS_TABLE_WINDOW_HOOK("window-renamed", ""),
1474ba37bc3cSnicm 	OPTIONS_TABLE_WINDOW_HOOK("window-resized", ""),
1475480d0dfeSnicm 	OPTIONS_TABLE_HOOK("window-unlinked", ""),
1476844b9093Snicm 
14773affa6cbSnicm 	{ .name = NULL }
14783affa6cbSnicm };
1479