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