15494e770Schristos /* $OpenBSD$ */ 2d530c4d0Sjmmv 3d530c4d0Sjmmv /* 4ed4e6cd4Schristos * Copyright (c) 2011 Nicholas Marriott <nicholas.marriott@gmail.com> 5d530c4d0Sjmmv * 6d530c4d0Sjmmv * Permission to use, copy, modify, and distribute this software for any 7d530c4d0Sjmmv * purpose with or without fee is hereby granted, provided that the above 8d530c4d0Sjmmv * copyright notice and this permission notice appear in all copies. 9d530c4d0Sjmmv * 10d530c4d0Sjmmv * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11d530c4d0Sjmmv * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12d530c4d0Sjmmv * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13d530c4d0Sjmmv * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14d530c4d0Sjmmv * WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER 15d530c4d0Sjmmv * IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING 16d530c4d0Sjmmv * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17d530c4d0Sjmmv */ 18d530c4d0Sjmmv 19d530c4d0Sjmmv #include <sys/types.h> 20d530c4d0Sjmmv 21d530c4d0Sjmmv #include <string.h> 22d530c4d0Sjmmv 23d530c4d0Sjmmv #include "tmux.h" 24d530c4d0Sjmmv 25d530c4d0Sjmmv /* 26d530c4d0Sjmmv * This file has a tables with all the server, session and window 27d530c4d0Sjmmv * options. These tables are the master copy of the options with their real 28d530c4d0Sjmmv * (user-visible) types, range limits and default values. At start these are 29d530c4d0Sjmmv * copied into the runtime global options trees (which only has number and 305494e770Schristos * string types). These tables are then used to look up the real type when the 315494e770Schristos * user sets an option or its value needs to be shown. 32d530c4d0Sjmmv */ 33d530c4d0Sjmmv 34d530c4d0Sjmmv /* Choice option type lists. */ 354e179ddaSchristos static const char *options_table_mode_keys_list[] = { 36d530c4d0Sjmmv "emacs", "vi", NULL 37d530c4d0Sjmmv }; 384e179ddaSchristos static const char *options_table_clock_mode_style_list[] = { 39d530c4d0Sjmmv "12", "24", NULL 40d530c4d0Sjmmv }; 41ef36e747Schristos static const char *options_table_status_list[] = { 42ef36e747Schristos "off", "on", "2", "3", "4", "5", NULL 43ef36e747Schristos }; 44c23f9150Swiz static const char *options_table_message_line_list[] = { 45c23f9150Swiz "0", "1", "2", "3", "4", NULL 46c23f9150Swiz }; 474e179ddaSchristos static const char *options_table_status_keys_list[] = { 48d530c4d0Sjmmv "emacs", "vi", NULL 49d530c4d0Sjmmv }; 504e179ddaSchristos static const char *options_table_status_justify_list[] = { 519fb66d81Schristos "left", "centre", "right", "absolute-centre", NULL 52d530c4d0Sjmmv }; 534e179ddaSchristos static const char *options_table_status_position_list[] = { 54928fc495Schristos "top", "bottom", NULL 55928fc495Schristos }; 564e179ddaSchristos static const char *options_table_bell_action_list[] = { 575494e770Schristos "none", "any", "current", "other", NULL 58d530c4d0Sjmmv }; 59c9ad075bSchristos static const char *options_table_visual_bell_list[] = { 60c9ad075bSchristos "off", "on", "both", NULL 61c9ad075bSchristos }; 626db26757Swiz static const char *options_table_cursor_style_list[] = { 636db26757Swiz "default", "blinking-block", "block", "blinking-underline", "underline", 646db26757Swiz "blinking-bar", "bar", NULL 656db26757Swiz }; 664e179ddaSchristos static const char *options_table_pane_status_list[] = { 674e179ddaSchristos "off", "top", "bottom", NULL 684e179ddaSchristos }; 696db26757Swiz static const char *options_table_pane_border_indicators_list[] = { 706db26757Swiz "off", "colour", "arrows", "both", NULL 716db26757Swiz }; 726db26757Swiz static const char *options_table_pane_border_lines_list[] = { 739fb66d81Schristos "single", "double", "heavy", "simple", "number", NULL 749fb66d81Schristos }; 756db26757Swiz static const char *options_table_popup_border_lines_list[] = { 766db26757Swiz "single", "double", "heavy", "simple", "rounded", "padded", "none", NULL 776db26757Swiz }; 78c9ad075bSchristos static const char *options_table_set_clipboard_list[] = { 79c9ad075bSchristos "off", "external", "on", NULL 80c9ad075bSchristos }; 81ef36e747Schristos static const char *options_table_window_size_list[] = { 82aa83ff61Schristos "largest", "smallest", "manual", "latest", NULL 83ef36e747Schristos }; 849fb66d81Schristos static const char *options_table_remain_on_exit_list[] = { 859fb66d81Schristos "off", "on", "failed", NULL 869fb66d81Schristos }; 87c23f9150Swiz static const char *options_table_destroy_unattached_list[] = { 88c23f9150Swiz "off", "on", "keep-last", "keep-group", NULL 89c23f9150Swiz }; 909fb66d81Schristos static const char *options_table_detach_on_destroy_list[] = { 91c23f9150Swiz "off", "on", "no-detached", "previous", "next", NULL 929fb66d81Schristos }; 93de7701e2Schristos static const char *options_table_extended_keys_list[] = { 94de7701e2Schristos "off", "on", "always", NULL 95de7701e2Schristos }; 96*f8cf1a91Swiz static const char *options_table_extended_keys_format_list[] = { 97*f8cf1a91Swiz "csi-u", "xterm", NULL 98*f8cf1a91Swiz }; 99c23f9150Swiz static const char *options_table_allow_passthrough_list[] = { 100c23f9150Swiz "off", "on", "all", NULL 101c23f9150Swiz }; 102ef36e747Schristos 103ef36e747Schristos /* Status line format. */ 104ef36e747Schristos #define OPTIONS_TABLE_STATUS_FORMAT1 \ 1056db26757Swiz "#[align=left range=left #{E:status-left-style}]" \ 106aa83ff61Schristos "#[push-default]" \ 107aa83ff61Schristos "#{T;=/#{status-left-length}:status-left}" \ 108aa83ff61Schristos "#[pop-default]" \ 109aa83ff61Schristos "#[norange default]" \ 110ef36e747Schristos "#[list=on align=#{status-justify}]" \ 111ef36e747Schristos "#[list=left-marker]<#[list=right-marker]>#[list=on]" \ 112ef36e747Schristos "#{W:" \ 113ef36e747Schristos "#[range=window|#{window_index} " \ 1146db26757Swiz "#{E:window-status-style}" \ 115ef36e747Schristos "#{?#{&&:#{window_last_flag}," \ 1166db26757Swiz "#{!=:#{E:window-status-last-style},default}}, " \ 1176db26757Swiz "#{E:window-status-last-style}," \ 118ef36e747Schristos "}" \ 119ef36e747Schristos "#{?#{&&:#{window_bell_flag}," \ 1206db26757Swiz "#{!=:#{E:window-status-bell-style},default}}, " \ 1216db26757Swiz "#{E:window-status-bell-style}," \ 122ef36e747Schristos "#{?#{&&:#{||:#{window_activity_flag}," \ 123ef36e747Schristos "#{window_silence_flag}}," \ 124ef36e747Schristos "#{!=:" \ 1256db26757Swiz "#{E:window-status-activity-style}," \ 126ef36e747Schristos "default}}, " \ 1276db26757Swiz "#{E:window-status-activity-style}," \ 128ef36e747Schristos "}" \ 129ef36e747Schristos "}" \ 130ef36e747Schristos "]" \ 131aa83ff61Schristos "#[push-default]" \ 132ef36e747Schristos "#{T:window-status-format}" \ 133aa83ff61Schristos "#[pop-default]" \ 134ef36e747Schristos "#[norange default]" \ 135ef36e747Schristos "#{?window_end_flag,,#{window-status-separator}}" \ 136ef36e747Schristos "," \ 137ef36e747Schristos "#[range=window|#{window_index} list=focus " \ 1386db26757Swiz "#{?#{!=:#{E:window-status-current-style},default}," \ 1396db26757Swiz "#{E:window-status-current-style}," \ 1406db26757Swiz "#{E:window-status-style}" \ 141ef36e747Schristos "}" \ 142ef36e747Schristos "#{?#{&&:#{window_last_flag}," \ 1436db26757Swiz "#{!=:#{E:window-status-last-style},default}}, " \ 1446db26757Swiz "#{E:window-status-last-style}," \ 145ef36e747Schristos "}" \ 146ef36e747Schristos "#{?#{&&:#{window_bell_flag}," \ 1476db26757Swiz "#{!=:#{E:window-status-bell-style},default}}, " \ 1486db26757Swiz "#{E:window-status-bell-style}," \ 149ef36e747Schristos "#{?#{&&:#{||:#{window_activity_flag}," \ 150ef36e747Schristos "#{window_silence_flag}}," \ 151ef36e747Schristos "#{!=:" \ 1526db26757Swiz "#{E:window-status-activity-style}," \ 153ef36e747Schristos "default}}, " \ 1546db26757Swiz "#{E:window-status-activity-style}," \ 155ef36e747Schristos "}" \ 156ef36e747Schristos "}" \ 157ef36e747Schristos "]" \ 158aa83ff61Schristos "#[push-default]" \ 159ef36e747Schristos "#{T:window-status-current-format}" \ 160aa83ff61Schristos "#[pop-default]" \ 161ef36e747Schristos "#[norange list=on default]" \ 162ef36e747Schristos "#{?window_end_flag,,#{window-status-separator}}" \ 163ef36e747Schristos "}" \ 1646db26757Swiz "#[nolist align=right range=right #{E:status-right-style}]" \ 165aa83ff61Schristos "#[push-default]" \ 166aa83ff61Schristos "#{T;=/#{status-right-length}:status-right}" \ 167aa83ff61Schristos "#[pop-default]" \ 168aa83ff61Schristos "#[norange default]" 169ef36e747Schristos #define OPTIONS_TABLE_STATUS_FORMAT2 \ 170ef36e747Schristos "#[align=centre]#{P:#{?pane_active,#[reverse],}" \ 171ef36e747Schristos "#{pane_index}[#{pane_width}x#{pane_height}]#[default] }" 172ef36e747Schristos static const char *options_table_status_format_default[] = { 173ef36e747Schristos OPTIONS_TABLE_STATUS_FORMAT1, OPTIONS_TABLE_STATUS_FORMAT2, NULL 174ef36e747Schristos }; 175d530c4d0Sjmmv 1769fb66d81Schristos /* Helpers for hook options. */ 1776483eba0Schristos #define OPTIONS_TABLE_HOOK(hook_name, default_value) \ 1786483eba0Schristos { .name = hook_name, \ 1796483eba0Schristos .type = OPTIONS_TABLE_COMMAND, \ 1806483eba0Schristos .scope = OPTIONS_TABLE_SESSION, \ 1816483eba0Schristos .flags = OPTIONS_TABLE_IS_ARRAY|OPTIONS_TABLE_IS_HOOK, \ 1826483eba0Schristos .default_str = default_value, \ 1836483eba0Schristos .separator = "" \ 1846483eba0Schristos } 1856483eba0Schristos 1869fb66d81Schristos #define OPTIONS_TABLE_PANE_HOOK(hook_name, default_value) \ 1879fb66d81Schristos { .name = hook_name, \ 1889fb66d81Schristos .type = OPTIONS_TABLE_COMMAND, \ 1899fb66d81Schristos .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE, \ 1909fb66d81Schristos .flags = OPTIONS_TABLE_IS_ARRAY|OPTIONS_TABLE_IS_HOOK, \ 1919fb66d81Schristos .default_str = default_value, \ 1929fb66d81Schristos .separator = "" \ 1939fb66d81Schristos } 1949fb66d81Schristos 1959fb66d81Schristos #define OPTIONS_TABLE_WINDOW_HOOK(hook_name, default_value) \ 1969fb66d81Schristos { .name = hook_name, \ 1979fb66d81Schristos .type = OPTIONS_TABLE_COMMAND, \ 1989fb66d81Schristos .scope = OPTIONS_TABLE_WINDOW, \ 1999fb66d81Schristos .flags = OPTIONS_TABLE_IS_ARRAY|OPTIONS_TABLE_IS_HOOK, \ 2009fb66d81Schristos .default_str = default_value, \ 2019fb66d81Schristos .separator = "" \ 2029fb66d81Schristos } 2039fb66d81Schristos 2049fb66d81Schristos /* Map of name conversions. */ 2059fb66d81Schristos const struct options_name_map options_other_names[] = { 2069fb66d81Schristos { "display-panes-color", "display-panes-colour" }, 2079fb66d81Schristos { "display-panes-active-color", "display-panes-active-colour" }, 2089fb66d81Schristos { "clock-mode-color", "clock-mode-colour" }, 2096db26757Swiz { "cursor-color", "cursor-colour" }, 2106db26757Swiz { "pane-colors", "pane-colours" }, 2119fb66d81Schristos { NULL, NULL } 2129fb66d81Schristos }; 2139fb66d81Schristos 2144e179ddaSchristos /* Top-level options. */ 215ed4e6cd4Schristos const struct options_table_entry options_table[] = { 2166483eba0Schristos /* Server options. */ 217aa83ff61Schristos { .name = "backspace", 218aa83ff61Schristos .type = OPTIONS_TABLE_KEY, 219aa83ff61Schristos .scope = OPTIONS_TABLE_SERVER, 220aa83ff61Schristos .default_num = '\177', 2219fb66d81Schristos .text = "The key to send for backspace." 222aa83ff61Schristos }, 223aa83ff61Schristos 224d530c4d0Sjmmv { .name = "buffer-limit", 225d530c4d0Sjmmv .type = OPTIONS_TABLE_NUMBER, 226ed4e6cd4Schristos .scope = OPTIONS_TABLE_SERVER, 227d530c4d0Sjmmv .minimum = 1, 228d530c4d0Sjmmv .maximum = INT_MAX, 2299fb66d81Schristos .default_num = 50, 2309fb66d81Schristos .text = "The maximum number of automatic buffers. " 2319fb66d81Schristos "When this is reached, the oldest buffer is deleted." 232d530c4d0Sjmmv }, 233d530c4d0Sjmmv 2344e179ddaSchristos { .name = "command-alias", 2356483eba0Schristos .type = OPTIONS_TABLE_STRING, 2364e179ddaSchristos .scope = OPTIONS_TABLE_SERVER, 2376483eba0Schristos .flags = OPTIONS_TABLE_IS_ARRAY, 2384e179ddaSchristos .default_str = "split-pane=split-window," 2394e179ddaSchristos "splitp=split-window," 2404e179ddaSchristos "server-info=show-messages -JT," 241c9ad075bSchristos "info=show-messages -JT," 242c9ad075bSchristos "choose-window=choose-tree -w," 243c9ad075bSchristos "choose-session=choose-tree -s", 2449fb66d81Schristos .separator = ",", 2459fb66d81Schristos .text = "Array of command aliases. " 2469fb66d81Schristos "Each entry is an alias and a command separated by '='." 2479fb66d81Schristos }, 2489fb66d81Schristos 2499fb66d81Schristos { .name = "copy-command", 2509fb66d81Schristos .type = OPTIONS_TABLE_STRING, 2519fb66d81Schristos .scope = OPTIONS_TABLE_SERVER, 2529fb66d81Schristos .default_str = "", 2539fb66d81Schristos .text = "Shell command run when text is copied. " 2549fb66d81Schristos "If empty, no command is run." 2554e179ddaSchristos }, 2564e179ddaSchristos 2576db26757Swiz { .name = "cursor-colour", 2586db26757Swiz .type = OPTIONS_TABLE_COLOUR, 2596db26757Swiz .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE, 2606db26757Swiz .default_num = -1, 2616db26757Swiz .text = "Colour of the cursor." 2626db26757Swiz }, 2636db26757Swiz 2646db26757Swiz { .name = "cursor-style", 2656db26757Swiz .type = OPTIONS_TABLE_CHOICE, 2666db26757Swiz .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE, 2676db26757Swiz .choices = options_table_cursor_style_list, 2686db26757Swiz .default_num = 0, 2696db26757Swiz .text = "Style of the cursor." 2706db26757Swiz }, 2716db26757Swiz 2725494e770Schristos { .name = "default-terminal", 2735494e770Schristos .type = OPTIONS_TABLE_STRING, 274ed4e6cd4Schristos .scope = OPTIONS_TABLE_SERVER, 2756db26757Swiz .default_str = TMUX_TERM, 2769fb66d81Schristos .text = "Default for the 'TERM' environment variable." 2779fb66d81Schristos }, 2789fb66d81Schristos 2799fb66d81Schristos { .name = "editor", 2809fb66d81Schristos .type = OPTIONS_TABLE_STRING, 2819fb66d81Schristos .scope = OPTIONS_TABLE_SERVER, 2829fb66d81Schristos .default_str = _PATH_VI, 2839fb66d81Schristos .text = "Editor run to edit files." 2845494e770Schristos }, 2855494e770Schristos 286d530c4d0Sjmmv { .name = "escape-time", 287d530c4d0Sjmmv .type = OPTIONS_TABLE_NUMBER, 288ed4e6cd4Schristos .scope = OPTIONS_TABLE_SERVER, 289d530c4d0Sjmmv .minimum = 0, 290d530c4d0Sjmmv .maximum = INT_MAX, 291*f8cf1a91Swiz .default_num = 10, 2926db26757Swiz .unit = "milliseconds", 2939fb66d81Schristos .text = "Time to wait before assuming a key is Escape." 294d530c4d0Sjmmv }, 295d530c4d0Sjmmv 2968f3b9483Schristos { .name = "exit-empty", 2978f3b9483Schristos .type = OPTIONS_TABLE_FLAG, 2988f3b9483Schristos .scope = OPTIONS_TABLE_SERVER, 2999fb66d81Schristos .default_num = 1, 3009fb66d81Schristos .text = "Whether the server should exit if there are no sessions." 3018f3b9483Schristos }, 3028f3b9483Schristos 303d530c4d0Sjmmv { .name = "exit-unattached", 304d530c4d0Sjmmv .type = OPTIONS_TABLE_FLAG, 305ed4e6cd4Schristos .scope = OPTIONS_TABLE_SERVER, 3069fb66d81Schristos .default_num = 0, 3079fb66d81Schristos .text = "Whether the server should exit if there are no attached " 3089fb66d81Schristos "clients." 3099fb66d81Schristos }, 3109fb66d81Schristos 3119fb66d81Schristos { .name = "extended-keys", 312de7701e2Schristos .type = OPTIONS_TABLE_CHOICE, 3139fb66d81Schristos .scope = OPTIONS_TABLE_SERVER, 314de7701e2Schristos .choices = options_table_extended_keys_list, 3159fb66d81Schristos .default_num = 0, 3169fb66d81Schristos .text = "Whether to request extended key sequences from terminals " 3179fb66d81Schristos "that support it." 318d530c4d0Sjmmv }, 319d530c4d0Sjmmv 320*f8cf1a91Swiz { .name = "extended-keys-format", 321*f8cf1a91Swiz .type = OPTIONS_TABLE_CHOICE, 322*f8cf1a91Swiz .scope = OPTIONS_TABLE_SERVER, 323*f8cf1a91Swiz .choices = options_table_extended_keys_format_list, 324*f8cf1a91Swiz .default_num = 1, 325*f8cf1a91Swiz .text = "The format of emitted extended key sequences." 326*f8cf1a91Swiz }, 327*f8cf1a91Swiz 328928fc495Schristos { .name = "focus-events", 329928fc495Schristos .type = OPTIONS_TABLE_FLAG, 330ed4e6cd4Schristos .scope = OPTIONS_TABLE_SERVER, 3319fb66d81Schristos .default_num = 0, 3329fb66d81Schristos .text = "Whether to send focus events to applications." 333928fc495Schristos }, 334928fc495Schristos 3355494e770Schristos { .name = "history-file", 3365494e770Schristos .type = OPTIONS_TABLE_STRING, 337ed4e6cd4Schristos .scope = OPTIONS_TABLE_SERVER, 3389fb66d81Schristos .default_str = "", 3399fb66d81Schristos .text = "Location of the command prompt history file. " 3409fb66d81Schristos "Empty does not write a history file." 3415494e770Schristos }, 3425494e770Schristos 343c23f9150Swiz { .name = "menu-style", 344c23f9150Swiz .type = OPTIONS_TABLE_STRING, 345c23f9150Swiz .scope = OPTIONS_TABLE_WINDOW, 346c23f9150Swiz .flags = OPTIONS_TABLE_IS_STYLE, 347c23f9150Swiz .default_str = "default", 348c23f9150Swiz .separator = ",", 349c23f9150Swiz .text = "Default style of menu." 350c23f9150Swiz }, 351c23f9150Swiz 352c23f9150Swiz { .name = "menu-selected-style", 353c23f9150Swiz .type = OPTIONS_TABLE_STRING, 354c23f9150Swiz .scope = OPTIONS_TABLE_WINDOW, 355c23f9150Swiz .flags = OPTIONS_TABLE_IS_STYLE, 356c23f9150Swiz .default_str = "bg=yellow,fg=black", 357c23f9150Swiz .separator = ",", 358c23f9150Swiz .text = "Default style of selected menu item." 359c23f9150Swiz }, 360c23f9150Swiz 361c23f9150Swiz { .name = "menu-border-style", 362c23f9150Swiz .type = OPTIONS_TABLE_STRING, 363c23f9150Swiz .scope = OPTIONS_TABLE_WINDOW, 364c23f9150Swiz .default_str = "default", 365c23f9150Swiz .flags = OPTIONS_TABLE_IS_STYLE, 366c23f9150Swiz .separator = ",", 367c23f9150Swiz .text = "Default style of menu borders." 368c23f9150Swiz }, 369c23f9150Swiz 370c23f9150Swiz { .name = "menu-border-lines", 371c23f9150Swiz .type = OPTIONS_TABLE_CHOICE, 372c23f9150Swiz .scope = OPTIONS_TABLE_WINDOW, 373c23f9150Swiz .choices = options_table_popup_border_lines_list, 374c23f9150Swiz .default_num = BOX_LINES_SINGLE, 375c23f9150Swiz .text = "Type of characters used to draw menu border lines. Some of " 376c23f9150Swiz "these are only supported on terminals with UTF-8 support." 377c23f9150Swiz }, 378c23f9150Swiz 3795494e770Schristos { .name = "message-limit", 3805494e770Schristos .type = OPTIONS_TABLE_NUMBER, 381ed4e6cd4Schristos .scope = OPTIONS_TABLE_SERVER, 3825494e770Schristos .minimum = 0, 3835494e770Schristos .maximum = INT_MAX, 3849fb66d81Schristos .default_num = 1000, 3859fb66d81Schristos .text = "Maximum number of server messages to keep." 3865494e770Schristos }, 3875494e770Schristos 388*f8cf1a91Swiz { .name = "prefix-timeout", 389*f8cf1a91Swiz .type = OPTIONS_TABLE_NUMBER, 390*f8cf1a91Swiz .scope = OPTIONS_TABLE_SERVER, 391*f8cf1a91Swiz .minimum = 0, 392*f8cf1a91Swiz .maximum = INT_MAX, 393*f8cf1a91Swiz .default_num = 0, 394*f8cf1a91Swiz .unit = "milliseconds", 395*f8cf1a91Swiz .text = "The timeout for the prefix key if no subsequent key is " 396*f8cf1a91Swiz "pressed. Zero means disabled." 397*f8cf1a91Swiz }, 398*f8cf1a91Swiz 3996db26757Swiz { .name = "prompt-history-limit", 4006db26757Swiz .type = OPTIONS_TABLE_NUMBER, 4016db26757Swiz .scope = OPTIONS_TABLE_SERVER, 4026db26757Swiz .minimum = 0, 4036db26757Swiz .maximum = INT_MAX, 4046db26757Swiz .default_num = 100, 4056db26757Swiz .text = "Maximum number of commands to keep in history." 4066db26757Swiz }, 4076db26757Swiz 408d530c4d0Sjmmv { .name = "set-clipboard", 409c9ad075bSchristos .type = OPTIONS_TABLE_CHOICE, 410ed4e6cd4Schristos .scope = OPTIONS_TABLE_SERVER, 411c9ad075bSchristos .choices = options_table_set_clipboard_list, 4129fb66d81Schristos .default_num = 1, 4139fb66d81Schristos .text = "Whether to attempt to set the system clipboard ('on' or " 4149fb66d81Schristos "'external') and whether to allow applications to create " 4159fb66d81Schristos "paste buffers with an escape sequence ('on' only)." 416d530c4d0Sjmmv }, 417d530c4d0Sjmmv 4185494e770Schristos { .name = "terminal-overrides", 4196483eba0Schristos .type = OPTIONS_TABLE_STRING, 420ed4e6cd4Schristos .scope = OPTIONS_TABLE_SERVER, 4216483eba0Schristos .flags = OPTIONS_TABLE_IS_ARRAY, 422*f8cf1a91Swiz .default_str = "linux*:AX@", 4239fb66d81Schristos .separator = ",", 4249fb66d81Schristos .text = "List of terminal capabilities overrides." 4259fb66d81Schristos }, 4269fb66d81Schristos 4279fb66d81Schristos { .name = "terminal-features", 4289fb66d81Schristos .type = OPTIONS_TABLE_STRING, 4299fb66d81Schristos .scope = OPTIONS_TABLE_SERVER, 4309fb66d81Schristos .flags = OPTIONS_TABLE_IS_ARRAY, 4319fb66d81Schristos .default_str = "xterm*:clipboard:ccolour:cstyle:focus:title," 432c23f9150Swiz "screen*:title," 433c23f9150Swiz "rxvt*:ignorefkeys", 4349fb66d81Schristos .separator = ",", 4359fb66d81Schristos .text = "List of terminal features, used if they cannot be " 4369fb66d81Schristos "automatically detected." 4375494e770Schristos }, 4385494e770Schristos 439c9ad075bSchristos { .name = "user-keys", 4406483eba0Schristos .type = OPTIONS_TABLE_STRING, 441c9ad075bSchristos .scope = OPTIONS_TABLE_SERVER, 4426483eba0Schristos .flags = OPTIONS_TABLE_IS_ARRAY, 443c9ad075bSchristos .default_str = "", 4449fb66d81Schristos .separator = ",", 4459fb66d81Schristos .text = "User key assignments. " 4469fb66d81Schristos "Each sequence in the list is translated into a key: " 4479fb66d81Schristos "'User0', 'User1' and so on." 448c9ad075bSchristos }, 449c9ad075bSchristos 4506483eba0Schristos /* Session options. */ 451c9ad075bSchristos { .name = "activity-action", 452c9ad075bSchristos .type = OPTIONS_TABLE_CHOICE, 453c9ad075bSchristos .scope = OPTIONS_TABLE_SESSION, 454c9ad075bSchristos .choices = options_table_bell_action_list, 4559fb66d81Schristos .default_num = ALERT_OTHER, 4569fb66d81Schristos .text = "Action to take on an activity alert." 457c9ad075bSchristos }, 458c9ad075bSchristos 459928fc495Schristos { .name = "assume-paste-time", 460928fc495Schristos .type = OPTIONS_TABLE_NUMBER, 461ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 462928fc495Schristos .minimum = 0, 463928fc495Schristos .maximum = INT_MAX, 464928fc495Schristos .default_num = 1, 4659fb66d81Schristos .unit = "milliseconds", 4666db26757Swiz .text = "Maximum time between input to assume it is pasting rather " 4679fb66d81Schristos "than typing." 468928fc495Schristos }, 469928fc495Schristos 470d530c4d0Sjmmv { .name = "base-index", 471d530c4d0Sjmmv .type = OPTIONS_TABLE_NUMBER, 472ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 473d530c4d0Sjmmv .minimum = 0, 474d530c4d0Sjmmv .maximum = INT_MAX, 4759fb66d81Schristos .default_num = 0, 4769fb66d81Schristos .text = "Default index of the first window in each session." 477d530c4d0Sjmmv }, 478d530c4d0Sjmmv 479d530c4d0Sjmmv { .name = "bell-action", 480d530c4d0Sjmmv .type = OPTIONS_TABLE_CHOICE, 481ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 482d530c4d0Sjmmv .choices = options_table_bell_action_list, 4839fb66d81Schristos .default_num = ALERT_ANY, 4849fb66d81Schristos .text = "Action to take on a bell alert." 485d530c4d0Sjmmv }, 486d530c4d0Sjmmv 487d530c4d0Sjmmv { .name = "default-command", 488d530c4d0Sjmmv .type = OPTIONS_TABLE_STRING, 489ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 4909fb66d81Schristos .default_str = "", 4919fb66d81Schristos .text = "Default command to run in new panes. If empty, a shell is " 4929fb66d81Schristos "started." 493d530c4d0Sjmmv }, 494d530c4d0Sjmmv 495d530c4d0Sjmmv { .name = "default-shell", 496d530c4d0Sjmmv .type = OPTIONS_TABLE_STRING, 497ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 4989fb66d81Schristos .default_str = _PATH_BSHELL, 4999fb66d81Schristos .text = "Location of default shell." 500d530c4d0Sjmmv }, 501d530c4d0Sjmmv 502ef36e747Schristos { .name = "default-size", 503ef36e747Schristos .type = OPTIONS_TABLE_STRING, 504ef36e747Schristos .scope = OPTIONS_TABLE_SESSION, 505ef36e747Schristos .pattern = "[0-9]*x[0-9]*", 5069fb66d81Schristos .default_str = "80x24", 5079fb66d81Schristos .text = "Initial size of new sessions." 508ef36e747Schristos }, 509ef36e747Schristos 510d530c4d0Sjmmv { .name = "destroy-unattached", 511c23f9150Swiz .type = OPTIONS_TABLE_CHOICE, 512ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 513c23f9150Swiz .choices = options_table_destroy_unattached_list, 5149fb66d81Schristos .default_num = 0, 5159fb66d81Schristos .text = "Whether to destroy sessions when they have no attached " 516c23f9150Swiz "clients, or keep the last session whether in the group." 517d530c4d0Sjmmv }, 518d530c4d0Sjmmv 519d530c4d0Sjmmv { .name = "detach-on-destroy", 5209fb66d81Schristos .type = OPTIONS_TABLE_CHOICE, 521ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 5229fb66d81Schristos .choices = options_table_detach_on_destroy_list, 5239fb66d81Schristos .default_num = 1, 5249fb66d81Schristos .text = "Whether to detach when a session is destroyed, or switch " 5259fb66d81Schristos "the client to another session if any exist." 526d530c4d0Sjmmv }, 527d530c4d0Sjmmv 528d530c4d0Sjmmv { .name = "display-panes-active-colour", 529d530c4d0Sjmmv .type = OPTIONS_TABLE_COLOUR, 530ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 5319fb66d81Schristos .default_num = 1, 5329fb66d81Schristos .text = "Colour of the active pane for 'display-panes'." 533d530c4d0Sjmmv }, 534d530c4d0Sjmmv 535d530c4d0Sjmmv { .name = "display-panes-colour", 536d530c4d0Sjmmv .type = OPTIONS_TABLE_COLOUR, 537ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 5389fb66d81Schristos .default_num = 4, 5399fb66d81Schristos .text = "Colour of not active panes for 'display-panes'." 540d530c4d0Sjmmv }, 541d530c4d0Sjmmv 542d530c4d0Sjmmv { .name = "display-panes-time", 543d530c4d0Sjmmv .type = OPTIONS_TABLE_NUMBER, 544ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 545d530c4d0Sjmmv .minimum = 1, 546d530c4d0Sjmmv .maximum = INT_MAX, 5479fb66d81Schristos .default_num = 1000, 5489fb66d81Schristos .unit = "milliseconds", 5499fb66d81Schristos .text = "Time for which 'display-panes' should show pane numbers." 550d530c4d0Sjmmv }, 551d530c4d0Sjmmv 552d530c4d0Sjmmv { .name = "display-time", 553d530c4d0Sjmmv .type = OPTIONS_TABLE_NUMBER, 554ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 555ed4e6cd4Schristos .minimum = 0, 556d530c4d0Sjmmv .maximum = INT_MAX, 5579fb66d81Schristos .default_num = 750, 5589fb66d81Schristos .unit = "milliseconds", 5599fb66d81Schristos .text = "Time for which status line messages should appear." 560d530c4d0Sjmmv }, 561d530c4d0Sjmmv 562d530c4d0Sjmmv { .name = "history-limit", 563d530c4d0Sjmmv .type = OPTIONS_TABLE_NUMBER, 564ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 565d530c4d0Sjmmv .minimum = 0, 566d530c4d0Sjmmv .maximum = INT_MAX, 5679fb66d81Schristos .default_num = 2000, 5689fb66d81Schristos .unit = "lines", 5699fb66d81Schristos .text = "Maximum number of lines to keep in the history for each " 5709fb66d81Schristos "pane. " 5719fb66d81Schristos "If changed, the new value applies only to new panes." 572d530c4d0Sjmmv }, 573d530c4d0Sjmmv 574ed4e6cd4Schristos { .name = "key-table", 575ed4e6cd4Schristos .type = OPTIONS_TABLE_STRING, 576ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 5779fb66d81Schristos .default_str = "root", 5789fb66d81Schristos .text = "Default key table. " 5799fb66d81Schristos "Key presses are first looked up in this table." 580ed4e6cd4Schristos }, 581ed4e6cd4Schristos 582d530c4d0Sjmmv { .name = "lock-after-time", 583d530c4d0Sjmmv .type = OPTIONS_TABLE_NUMBER, 584ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 585d530c4d0Sjmmv .minimum = 0, 586d530c4d0Sjmmv .maximum = INT_MAX, 5879fb66d81Schristos .default_num = 0, 5889fb66d81Schristos .unit = "seconds", 5899fb66d81Schristos .text = "Time after which a client is locked if not used." 590d530c4d0Sjmmv }, 591d530c4d0Sjmmv 592d530c4d0Sjmmv { .name = "lock-command", 593d530c4d0Sjmmv .type = OPTIONS_TABLE_STRING, 594ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 595c23f9150Swiz .default_str = TMUX_LOCK_CMD, 5969fb66d81Schristos .text = "Shell command to run to lock a client." 597d530c4d0Sjmmv }, 598d530c4d0Sjmmv 599928fc495Schristos { .name = "message-command-style", 6009fb66d81Schristos .type = OPTIONS_TABLE_STRING, 601ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 6029fb66d81Schristos .default_str = "bg=black,fg=yellow", 6039fb66d81Schristos .flags = OPTIONS_TABLE_IS_STYLE, 6049fb66d81Schristos .separator = ",", 6059fb66d81Schristos .text = "Style of the command prompt when in command mode, if " 6069fb66d81Schristos "'mode-keys' is set to 'vi'." 607d530c4d0Sjmmv }, 608d530c4d0Sjmmv 609c23f9150Swiz { .name = "message-line", 610c23f9150Swiz .type = OPTIONS_TABLE_CHOICE, 611c23f9150Swiz .scope = OPTIONS_TABLE_SESSION, 612c23f9150Swiz .choices = options_table_message_line_list, 613c23f9150Swiz .default_num = 0, 614c23f9150Swiz .text = "Position (line) of messages and the command prompt." 615c23f9150Swiz }, 616c23f9150Swiz 617928fc495Schristos { .name = "message-style", 6189fb66d81Schristos .type = OPTIONS_TABLE_STRING, 619ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 6209fb66d81Schristos .default_str = "bg=yellow,fg=black", 6219fb66d81Schristos .flags = OPTIONS_TABLE_IS_STYLE, 6229fb66d81Schristos .separator = ",", 623c23f9150Swiz .text = "Style of messages and the command prompt." 624928fc495Schristos }, 625928fc495Schristos 6265494e770Schristos { .name = "mouse", 627d530c4d0Sjmmv .type = OPTIONS_TABLE_FLAG, 628ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 6299fb66d81Schristos .default_num = 0, 6309fb66d81Schristos .text = "Whether the mouse is recognised and mouse key bindings are " 6319fb66d81Schristos "executed. " 6329fb66d81Schristos "Applications inside panes can use the mouse even when 'off'." 633d530c4d0Sjmmv }, 634d530c4d0Sjmmv 635d530c4d0Sjmmv { .name = "prefix", 636928fc495Schristos .type = OPTIONS_TABLE_KEY, 637ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 638*f8cf1a91Swiz .default_num = 'b'|KEYC_CTRL, 6399fb66d81Schristos .text = "The prefix key." 640928fc495Schristos }, 641928fc495Schristos 642928fc495Schristos { .name = "prefix2", 643928fc495Schristos .type = OPTIONS_TABLE_KEY, 644ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 645928fc495Schristos .default_num = KEYC_NONE, 6469fb66d81Schristos .text = "A second prefix key." 647928fc495Schristos }, 648928fc495Schristos 649928fc495Schristos { .name = "renumber-windows", 650928fc495Schristos .type = OPTIONS_TABLE_FLAG, 651ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 6529fb66d81Schristos .default_num = 0, 6539fb66d81Schristos .text = "Whether windows are automatically renumbered rather than " 6549fb66d81Schristos "leaving gaps." 655d530c4d0Sjmmv }, 656d530c4d0Sjmmv 657d530c4d0Sjmmv { .name = "repeat-time", 658d530c4d0Sjmmv .type = OPTIONS_TABLE_NUMBER, 659ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 660d530c4d0Sjmmv .minimum = 0, 661d530c4d0Sjmmv .maximum = SHRT_MAX, 6629fb66d81Schristos .default_num = 500, 6639fb66d81Schristos .unit = "milliseconds", 6649fb66d81Schristos .text = "Time to wait for a key binding to repeat, if it is bound " 6659fb66d81Schristos "with the '-r' flag." 666d530c4d0Sjmmv }, 667d530c4d0Sjmmv 668d530c4d0Sjmmv { .name = "set-titles", 669d530c4d0Sjmmv .type = OPTIONS_TABLE_FLAG, 670ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 6719fb66d81Schristos .default_num = 0, 6729fb66d81Schristos .text = "Whether to set the terminal title, if supported." 673d530c4d0Sjmmv }, 674d530c4d0Sjmmv 675d530c4d0Sjmmv { .name = "set-titles-string", 676d530c4d0Sjmmv .type = OPTIONS_TABLE_STRING, 677ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 6789fb66d81Schristos .default_str = "#S:#I:#W - \"#T\" #{session_alerts}", 6799fb66d81Schristos .text = "Format of the terminal title to set." 680d530c4d0Sjmmv }, 681d530c4d0Sjmmv 682c9ad075bSchristos { .name = "silence-action", 683c9ad075bSchristos .type = OPTIONS_TABLE_CHOICE, 684c9ad075bSchristos .scope = OPTIONS_TABLE_SESSION, 685c9ad075bSchristos .choices = options_table_bell_action_list, 6869fb66d81Schristos .default_num = ALERT_OTHER, 6879fb66d81Schristos .text = "Action to take on a silence alert." 688c9ad075bSchristos }, 689c9ad075bSchristos 690d530c4d0Sjmmv { .name = "status", 691ef36e747Schristos .type = OPTIONS_TABLE_CHOICE, 692ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 693ef36e747Schristos .choices = options_table_status_list, 6949fb66d81Schristos .default_num = 1, 6959fb66d81Schristos .text = "Number of lines in the status line." 696d530c4d0Sjmmv }, 697d530c4d0Sjmmv 698d530c4d0Sjmmv { .name = "status-bg", 699d530c4d0Sjmmv .type = OPTIONS_TABLE_COLOUR, 700ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 7019fb66d81Schristos .default_num = 8, 7029fb66d81Schristos .text = "Background colour of the status line. This option is " 7039fb66d81Schristos "deprecated, use 'status-style' instead." 704d530c4d0Sjmmv }, 705d530c4d0Sjmmv 706d530c4d0Sjmmv { .name = "status-fg", 707d530c4d0Sjmmv .type = OPTIONS_TABLE_COLOUR, 708ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 7099fb66d81Schristos .default_num = 8, 7109fb66d81Schristos .text = "Foreground colour of the status line. This option is " 7119fb66d81Schristos "deprecated, use 'status-style' instead." 712ef36e747Schristos }, 713ef36e747Schristos 714ef36e747Schristos { .name = "status-format", 7156483eba0Schristos .type = OPTIONS_TABLE_STRING, 716ef36e747Schristos .scope = OPTIONS_TABLE_SESSION, 7176483eba0Schristos .flags = OPTIONS_TABLE_IS_ARRAY, 718ef36e747Schristos .default_arr = options_table_status_format_default, 7199fb66d81Schristos .text = "Formats for the status lines. " 7209fb66d81Schristos "Each array member is the format for one status line. " 7219fb66d81Schristos "The default status line is made up of several components " 7226db26757Swiz "which may be configured individually with other options such " 7239fb66d81Schristos "as 'status-left'." 724d530c4d0Sjmmv }, 725d530c4d0Sjmmv 726d530c4d0Sjmmv { .name = "status-interval", 727d530c4d0Sjmmv .type = OPTIONS_TABLE_NUMBER, 728ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 729d530c4d0Sjmmv .minimum = 0, 730d530c4d0Sjmmv .maximum = INT_MAX, 7319fb66d81Schristos .default_num = 15, 7329fb66d81Schristos .unit = "seconds", 7339fb66d81Schristos .text = "Number of seconds between status line updates." 734d530c4d0Sjmmv }, 735d530c4d0Sjmmv 736d530c4d0Sjmmv { .name = "status-justify", 737d530c4d0Sjmmv .type = OPTIONS_TABLE_CHOICE, 738ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 739d530c4d0Sjmmv .choices = options_table_status_justify_list, 7409fb66d81Schristos .default_num = 0, 7419fb66d81Schristos .text = "Position of the window list in the status line." 742d530c4d0Sjmmv }, 743d530c4d0Sjmmv 744d530c4d0Sjmmv { .name = "status-keys", 745d530c4d0Sjmmv .type = OPTIONS_TABLE_CHOICE, 746ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 747d530c4d0Sjmmv .choices = options_table_status_keys_list, 7489fb66d81Schristos .default_num = MODEKEY_EMACS, 7499fb66d81Schristos .text = "Key set to use at the command prompt." 750d530c4d0Sjmmv }, 751d530c4d0Sjmmv 752d530c4d0Sjmmv { .name = "status-left", 753d530c4d0Sjmmv .type = OPTIONS_TABLE_STRING, 754ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 7559fb66d81Schristos .default_str = "[#{session_name}] ", 7569fb66d81Schristos .text = "Contents of the left side of the status line." 757d530c4d0Sjmmv }, 758d530c4d0Sjmmv 759d530c4d0Sjmmv { .name = "status-left-length", 760d530c4d0Sjmmv .type = OPTIONS_TABLE_NUMBER, 761ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 762d530c4d0Sjmmv .minimum = 0, 763d530c4d0Sjmmv .maximum = SHRT_MAX, 7649fb66d81Schristos .default_num = 10, 7659fb66d81Schristos .text = "Maximum width of the left side of the status line." 766d530c4d0Sjmmv }, 767d530c4d0Sjmmv 768928fc495Schristos { .name = "status-left-style", 7699fb66d81Schristos .type = OPTIONS_TABLE_STRING, 770ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 7719fb66d81Schristos .default_str = "default", 7729fb66d81Schristos .flags = OPTIONS_TABLE_IS_STYLE, 7739fb66d81Schristos .separator = ",", 7749fb66d81Schristos .text = "Style of the left side of the status line." 775928fc495Schristos }, 776928fc495Schristos 777928fc495Schristos { .name = "status-position", 778928fc495Schristos .type = OPTIONS_TABLE_CHOICE, 779ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 780928fc495Schristos .choices = options_table_status_position_list, 7819fb66d81Schristos .default_num = 1, 7829fb66d81Schristos .text = "Position of the status line." 783928fc495Schristos }, 784928fc495Schristos 785d530c4d0Sjmmv { .name = "status-right", 786d530c4d0Sjmmv .type = OPTIONS_TABLE_STRING, 787ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 788ef36e747Schristos .default_str = "#{?window_bigger," 789ef36e747Schristos "[#{window_offset_x}#,#{window_offset_y}] ,}" 7909fb66d81Schristos "\"#{=21:pane_title}\" %H:%M %d-%b-%y", 7919fb66d81Schristos .text = "Contents of the right side of the status line." 7929fb66d81Schristos 793d530c4d0Sjmmv }, 794d530c4d0Sjmmv 795d530c4d0Sjmmv { .name = "status-right-length", 796d530c4d0Sjmmv .type = OPTIONS_TABLE_NUMBER, 797ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 798d530c4d0Sjmmv .minimum = 0, 799d530c4d0Sjmmv .maximum = SHRT_MAX, 8009fb66d81Schristos .default_num = 40, 8019fb66d81Schristos .text = "Maximum width of the right side of the status line." 802d530c4d0Sjmmv }, 803d530c4d0Sjmmv 804928fc495Schristos { .name = "status-right-style", 8059fb66d81Schristos .type = OPTIONS_TABLE_STRING, 806ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 8079fb66d81Schristos .default_str = "default", 8089fb66d81Schristos .flags = OPTIONS_TABLE_IS_STYLE, 8099fb66d81Schristos .separator = ",", 8109fb66d81Schristos .text = "Style of the right side of the status line." 811928fc495Schristos }, 812928fc495Schristos 813928fc495Schristos { .name = "status-style", 8149fb66d81Schristos .type = OPTIONS_TABLE_STRING, 815ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 8169fb66d81Schristos .default_str = "bg=green,fg=black", 8179fb66d81Schristos .flags = OPTIONS_TABLE_IS_STYLE, 8189fb66d81Schristos .separator = ",", 8199fb66d81Schristos .text = "Style of the status line." 820928fc495Schristos }, 821928fc495Schristos 822d530c4d0Sjmmv { .name = "update-environment", 8236483eba0Schristos .type = OPTIONS_TABLE_STRING, 824ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 8256483eba0Schristos .flags = OPTIONS_TABLE_IS_ARRAY, 8268f3b9483Schristos .default_str = "DISPLAY KRB5CCNAME SSH_ASKPASS SSH_AUTH_SOCK " 8279fb66d81Schristos "SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY", 8289fb66d81Schristos .text = "List of environment variables to update in the session " 8299fb66d81Schristos "environment when a client is attached." 830d530c4d0Sjmmv }, 831d530c4d0Sjmmv 832d530c4d0Sjmmv { .name = "visual-activity", 833c9ad075bSchristos .type = OPTIONS_TABLE_CHOICE, 834ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 835c9ad075bSchristos .choices = options_table_visual_bell_list, 8369fb66d81Schristos .default_num = VISUAL_OFF, 8379fb66d81Schristos .text = "How activity alerts should be shown: a message ('on'), " 8389fb66d81Schristos "a message and a bell ('both') or nothing ('off')." 839d530c4d0Sjmmv }, 840d530c4d0Sjmmv 841d530c4d0Sjmmv { .name = "visual-bell", 842c9ad075bSchristos .type = OPTIONS_TABLE_CHOICE, 843ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 844c9ad075bSchristos .choices = options_table_visual_bell_list, 8459fb66d81Schristos .default_num = VISUAL_OFF, 8469fb66d81Schristos .text = "How bell alerts should be shown: a message ('on'), " 8479fb66d81Schristos "a message and a bell ('both') or nothing ('off')." 848d530c4d0Sjmmv }, 849d530c4d0Sjmmv 850d530c4d0Sjmmv { .name = "visual-silence", 851c9ad075bSchristos .type = OPTIONS_TABLE_CHOICE, 852ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 853c9ad075bSchristos .choices = options_table_visual_bell_list, 8549fb66d81Schristos .default_num = VISUAL_OFF, 8559fb66d81Schristos .text = "How silence alerts should be shown: a message ('on'), " 8569fb66d81Schristos "a message and a bell ('both') or nothing ('off')." 857d530c4d0Sjmmv }, 858d530c4d0Sjmmv 859928fc495Schristos { .name = "word-separators", 860928fc495Schristos .type = OPTIONS_TABLE_STRING, 861ed4e6cd4Schristos .scope = OPTIONS_TABLE_SESSION, 8626db26757Swiz /* 8636db26757Swiz * The set of non-alphanumeric printable ASCII characters minus the 8646db26757Swiz * underscore. 8656db26757Swiz */ 8666db26757Swiz .default_str = "!\"#$%&'()*+,-./:;<=>?@[\\]^`{|}~", 8679fb66d81Schristos .text = "Characters considered to separate words." 868928fc495Schristos }, 869928fc495Schristos 8706483eba0Schristos /* Window options. */ 871d530c4d0Sjmmv { .name = "aggressive-resize", 872d530c4d0Sjmmv .type = OPTIONS_TABLE_FLAG, 873ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 8749fb66d81Schristos .default_num = 0, 8759fb66d81Schristos .text = "When 'window-size' is 'smallest', whether the maximum size " 8769fb66d81Schristos "of a window is the smallest attached session where it is " 8779fb66d81Schristos "the current window ('on') or the smallest session it is " 8789fb66d81Schristos "linked to ('off')." 879d530c4d0Sjmmv }, 880d530c4d0Sjmmv 8816db26757Swiz { .name = "allow-passthrough", 882c23f9150Swiz .type = OPTIONS_TABLE_CHOICE, 8836db26757Swiz .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE, 884c23f9150Swiz .choices = options_table_allow_passthrough_list, 8856db26757Swiz .default_num = 0, 8866db26757Swiz .text = "Whether applications are allowed to use the escape sequence " 887c23f9150Swiz "to bypass tmux. Can be 'off' (disallowed), 'on' (allowed " 888c23f9150Swiz "if the pane is visible), or 'all' (allowed even if the pane " 889c23f9150Swiz "is invisible)." 8906db26757Swiz }, 8916db26757Swiz 892928fc495Schristos { .name = "allow-rename", 893928fc495Schristos .type = OPTIONS_TABLE_FLAG, 8946483eba0Schristos .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE, 8959fb66d81Schristos .default_num = 0, 8969fb66d81Schristos .text = "Whether applications are allowed to use the escape sequence " 8979fb66d81Schristos "to rename windows." 898928fc495Schristos }, 899928fc495Schristos 900*f8cf1a91Swiz { .name = "allow-set-title", 901*f8cf1a91Swiz .type = OPTIONS_TABLE_FLAG, 902*f8cf1a91Swiz .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE, 903*f8cf1a91Swiz .default_num = 1, 904*f8cf1a91Swiz .text = "Whether applications are allowed to use the escape sequence " 905*f8cf1a91Swiz "to set the pane title." 906*f8cf1a91Swiz }, 907*f8cf1a91Swiz 908d530c4d0Sjmmv { .name = "alternate-screen", 909d530c4d0Sjmmv .type = OPTIONS_TABLE_FLAG, 9106483eba0Schristos .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE, 9119fb66d81Schristos .default_num = 1, 9129fb66d81Schristos .text = "Whether applications are allowed to use the alternate " 9139fb66d81Schristos "screen." 914d530c4d0Sjmmv }, 915d530c4d0Sjmmv 916d530c4d0Sjmmv { .name = "automatic-rename", 917d530c4d0Sjmmv .type = OPTIONS_TABLE_FLAG, 918ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 9199fb66d81Schristos .default_num = 1, 9209fb66d81Schristos .text = "Whether windows are automatically renamed." 921d530c4d0Sjmmv }, 922d530c4d0Sjmmv 923928fc495Schristos { .name = "automatic-rename-format", 924928fc495Schristos .type = OPTIONS_TABLE_STRING, 925ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 9265494e770Schristos .default_str = "#{?pane_in_mode,[tmux],#{pane_current_command}}" 9279fb66d81Schristos "#{?pane_dead,[dead],}", 9289fb66d81Schristos .text = "Format used to automatically rename windows." 929928fc495Schristos }, 930928fc495Schristos 931d530c4d0Sjmmv { .name = "clock-mode-colour", 932d530c4d0Sjmmv .type = OPTIONS_TABLE_COLOUR, 933ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 9349fb66d81Schristos .default_num = 4, 9359fb66d81Schristos .text = "Colour of the clock in clock mode." 936d530c4d0Sjmmv }, 937d530c4d0Sjmmv 938d530c4d0Sjmmv { .name = "clock-mode-style", 939d530c4d0Sjmmv .type = OPTIONS_TABLE_CHOICE, 940ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 941d530c4d0Sjmmv .choices = options_table_clock_mode_style_list, 9429fb66d81Schristos .default_num = 1, 9439fb66d81Schristos .text = "Time format of the clock in clock mode." 9449fb66d81Schristos }, 9459fb66d81Schristos 9469fb66d81Schristos { .name = "copy-mode-match-style", 9479fb66d81Schristos .type = OPTIONS_TABLE_STRING, 9489fb66d81Schristos .scope = OPTIONS_TABLE_WINDOW, 9499fb66d81Schristos .default_str = "bg=cyan,fg=black", 9509fb66d81Schristos .flags = OPTIONS_TABLE_IS_STYLE, 9519fb66d81Schristos .separator = ",", 9529fb66d81Schristos .text = "Style of search matches in copy mode." 9539fb66d81Schristos }, 9549fb66d81Schristos 9559fb66d81Schristos { .name = "copy-mode-current-match-style", 9569fb66d81Schristos .type = OPTIONS_TABLE_STRING, 9579fb66d81Schristos .scope = OPTIONS_TABLE_WINDOW, 9589fb66d81Schristos .default_str = "bg=magenta,fg=black", 9599fb66d81Schristos .flags = OPTIONS_TABLE_IS_STYLE, 9609fb66d81Schristos .separator = ",", 9619fb66d81Schristos .text = "Style of the current search match in copy mode." 9629fb66d81Schristos }, 9639fb66d81Schristos 9649fb66d81Schristos { .name = "copy-mode-mark-style", 9659fb66d81Schristos .type = OPTIONS_TABLE_STRING, 9669fb66d81Schristos .scope = OPTIONS_TABLE_WINDOW, 9679fb66d81Schristos .default_str = "bg=red,fg=black", 9689fb66d81Schristos .flags = OPTIONS_TABLE_IS_STYLE, 9699fb66d81Schristos .separator = ",", 9709fb66d81Schristos .text = "Style of the marked line in copy mode." 971d530c4d0Sjmmv }, 972d530c4d0Sjmmv 9736db26757Swiz { .name = "fill-character", 9746db26757Swiz .type = OPTIONS_TABLE_STRING, 9756db26757Swiz .scope = OPTIONS_TABLE_WINDOW, 9766db26757Swiz .default_str = "", 9776db26757Swiz .text = "Character used to fill unused parts of window." 9786db26757Swiz }, 9796db26757Swiz 980d530c4d0Sjmmv { .name = "main-pane-height", 9819fb66d81Schristos .type = OPTIONS_TABLE_STRING, 982ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 9839fb66d81Schristos .default_str = "24", 9849fb66d81Schristos .text = "Height of the main pane in the 'main-horizontal' layout. " 9859fb66d81Schristos "This may be a percentage, for example '10%'." 986d530c4d0Sjmmv }, 987d530c4d0Sjmmv 988d530c4d0Sjmmv { .name = "main-pane-width", 9899fb66d81Schristos .type = OPTIONS_TABLE_STRING, 990ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 9919fb66d81Schristos .default_str = "80", 9929fb66d81Schristos .text = "Width of the main pane in the 'main-vertical' layout. " 9939fb66d81Schristos "This may be a percentage, for example '10%'." 994d530c4d0Sjmmv }, 995d530c4d0Sjmmv 996d530c4d0Sjmmv { .name = "mode-keys", 997d530c4d0Sjmmv .type = OPTIONS_TABLE_CHOICE, 998ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 999d530c4d0Sjmmv .choices = options_table_mode_keys_list, 10009fb66d81Schristos .default_num = MODEKEY_EMACS, 10019fb66d81Schristos .text = "Key set used in copy mode." 1002d530c4d0Sjmmv }, 1003d530c4d0Sjmmv 1004928fc495Schristos { .name = "mode-style", 10059fb66d81Schristos .type = OPTIONS_TABLE_STRING, 1006ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 10079fb66d81Schristos .flags = OPTIONS_TABLE_IS_STYLE, 1008c23f9150Swiz .default_str = "bg=yellow,fg=black", 10099fb66d81Schristos .separator = ",", 10109fb66d81Schristos .text = "Style of indicators and highlighting in modes." 1011928fc495Schristos }, 1012928fc495Schristos 1013d530c4d0Sjmmv { .name = "monitor-activity", 1014d530c4d0Sjmmv .type = OPTIONS_TABLE_FLAG, 1015ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 10169fb66d81Schristos .default_num = 0, 10179fb66d81Schristos .text = "Whether an alert is triggered by activity." 1018d530c4d0Sjmmv }, 1019d530c4d0Sjmmv 1020c9ad075bSchristos { .name = "monitor-bell", 1021c9ad075bSchristos .type = OPTIONS_TABLE_FLAG, 1022c9ad075bSchristos .scope = OPTIONS_TABLE_WINDOW, 10239fb66d81Schristos .default_num = 1, 10249fb66d81Schristos .text = "Whether an alert is triggered by a bell." 1025c9ad075bSchristos }, 1026c9ad075bSchristos 1027d530c4d0Sjmmv { .name = "monitor-silence", 1028d530c4d0Sjmmv .type = OPTIONS_TABLE_NUMBER, 1029ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 1030d530c4d0Sjmmv .minimum = 0, 1031d530c4d0Sjmmv .maximum = INT_MAX, 10329fb66d81Schristos .default_num = 0, 10339fb66d81Schristos .text = "Time after which an alert is triggered by silence. " 10349fb66d81Schristos "Zero means no alert." 10359fb66d81Schristos 1036d530c4d0Sjmmv }, 1037d530c4d0Sjmmv 1038d530c4d0Sjmmv { .name = "other-pane-height", 10399fb66d81Schristos .type = OPTIONS_TABLE_STRING, 1040ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 10419fb66d81Schristos .default_str = "0", 10429fb66d81Schristos .text = "Height of the other panes in the 'main-horizontal' layout. " 10439fb66d81Schristos "This may be a percentage, for example '10%'." 1044d530c4d0Sjmmv }, 1045d530c4d0Sjmmv 1046d530c4d0Sjmmv { .name = "other-pane-width", 10479fb66d81Schristos .type = OPTIONS_TABLE_STRING, 1048ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 10499fb66d81Schristos .default_str = "0", 10509fb66d81Schristos .text = "Height of the other panes in the 'main-vertical' layout. " 10519fb66d81Schristos "This may be a percentage, for example '10%'." 1052d530c4d0Sjmmv }, 1053d530c4d0Sjmmv 10545494e770Schristos { .name = "pane-active-border-style", 10559fb66d81Schristos .type = OPTIONS_TABLE_STRING, 1056ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 10579fb66d81Schristos .default_str = "#{?pane_in_mode,fg=yellow,#{?synchronize-panes,fg=red,fg=green}}", 10589fb66d81Schristos .flags = OPTIONS_TABLE_IS_STYLE, 10599fb66d81Schristos .separator = ",", 10609fb66d81Schristos .text = "Style of the active pane border." 10615494e770Schristos }, 10625494e770Schristos 1063928fc495Schristos { .name = "pane-base-index", 1064928fc495Schristos .type = OPTIONS_TABLE_NUMBER, 1065ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 1066928fc495Schristos .minimum = 0, 1067928fc495Schristos .maximum = USHRT_MAX, 10689fb66d81Schristos .default_num = 0, 10699fb66d81Schristos .text = "Index of the first pane in each window." 1070928fc495Schristos }, 1071928fc495Schristos 10724e179ddaSchristos { .name = "pane-border-format", 10734e179ddaSchristos .type = OPTIONS_TABLE_STRING, 10746db26757Swiz .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE, 10754e179ddaSchristos .default_str = "#{?pane_active,#[reverse],}#{pane_index}#[default] " 10769fb66d81Schristos "\"#{pane_title}\"", 10779fb66d81Schristos .text = "Format of text in the pane status lines." 10789fb66d81Schristos }, 10799fb66d81Schristos 10806db26757Swiz { .name = "pane-border-indicators", 10816db26757Swiz .type = OPTIONS_TABLE_CHOICE, 10826db26757Swiz .scope = OPTIONS_TABLE_WINDOW, 10836db26757Swiz .choices = options_table_pane_border_indicators_list, 10846db26757Swiz .default_num = PANE_BORDER_COLOUR, 10856db26757Swiz .text = "Whether to indicate the active pane by colouring border or " 10866db26757Swiz "displaying arrow markers." 10876db26757Swiz }, 10886db26757Swiz 10899fb66d81Schristos { .name = "pane-border-lines", 10909fb66d81Schristos .type = OPTIONS_TABLE_CHOICE, 10919fb66d81Schristos .scope = OPTIONS_TABLE_WINDOW, 10926db26757Swiz .choices = options_table_pane_border_lines_list, 10939fb66d81Schristos .default_num = PANE_LINES_SINGLE, 10946db26757Swiz .text = "Type of characters used to draw pane border lines. Some of " 10956db26757Swiz "these are only supported on terminals with UTF-8 support." 10964e179ddaSchristos }, 10974e179ddaSchristos 10984e179ddaSchristos { .name = "pane-border-status", 10994e179ddaSchristos .type = OPTIONS_TABLE_CHOICE, 11004e179ddaSchristos .scope = OPTIONS_TABLE_WINDOW, 11014e179ddaSchristos .choices = options_table_pane_status_list, 11029fb66d81Schristos .default_num = PANE_STATUS_OFF, 11039fb66d81Schristos .text = "Position of the pane status lines." 11044e179ddaSchristos }, 11054e179ddaSchristos 11065494e770Schristos { .name = "pane-border-style", 11079fb66d81Schristos .type = OPTIONS_TABLE_STRING, 1108ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 11099fb66d81Schristos .default_str = "default", 11109fb66d81Schristos .flags = OPTIONS_TABLE_IS_STYLE, 11119fb66d81Schristos .separator = ",", 11129fb66d81Schristos .text = "Style of the pane status lines." 11135494e770Schristos }, 11145494e770Schristos 11156db26757Swiz { .name = "pane-colours", 11166db26757Swiz .type = OPTIONS_TABLE_COLOUR, 11176db26757Swiz .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE, 11186db26757Swiz .default_str = "", 11196db26757Swiz .flags = OPTIONS_TABLE_IS_ARRAY, 11206db26757Swiz .text = "The default colour palette for colours zero to 255." 11216db26757Swiz }, 11226db26757Swiz 11236db26757Swiz { .name = "popup-style", 11246db26757Swiz .type = OPTIONS_TABLE_STRING, 11256db26757Swiz .scope = OPTIONS_TABLE_WINDOW, 11266db26757Swiz .default_str = "default", 11276db26757Swiz .flags = OPTIONS_TABLE_IS_STYLE, 11286db26757Swiz .separator = ",", 11296db26757Swiz .text = "Default style of popups." 11306db26757Swiz }, 11316db26757Swiz 11326db26757Swiz { .name = "popup-border-style", 11336db26757Swiz .type = OPTIONS_TABLE_STRING, 11346db26757Swiz .scope = OPTIONS_TABLE_WINDOW, 11356db26757Swiz .default_str = "default", 11366db26757Swiz .flags = OPTIONS_TABLE_IS_STYLE, 11376db26757Swiz .separator = ",", 11386db26757Swiz .text = "Default style of popup borders." 11396db26757Swiz }, 11406db26757Swiz 11416db26757Swiz { .name = "popup-border-lines", 11426db26757Swiz .type = OPTIONS_TABLE_CHOICE, 11436db26757Swiz .scope = OPTIONS_TABLE_WINDOW, 11446db26757Swiz .choices = options_table_popup_border_lines_list, 11456db26757Swiz .default_num = BOX_LINES_SINGLE, 11466db26757Swiz .text = "Type of characters used to draw popup border lines. Some of " 11476db26757Swiz "these are only supported on terminals with UTF-8 support." 11486db26757Swiz }, 11496db26757Swiz 1150d530c4d0Sjmmv { .name = "remain-on-exit", 11519fb66d81Schristos .type = OPTIONS_TABLE_CHOICE, 11526483eba0Schristos .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE, 11539fb66d81Schristos .choices = options_table_remain_on_exit_list, 11549fb66d81Schristos .default_num = 0, 11559fb66d81Schristos .text = "Whether panes should remain ('on') or be automatically " 11569fb66d81Schristos "killed ('off' or 'failed') when the program inside exits." 1157d530c4d0Sjmmv }, 1158d530c4d0Sjmmv 11596db26757Swiz { .name = "remain-on-exit-format", 11606db26757Swiz .type = OPTIONS_TABLE_STRING, 11616db26757Swiz .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE, 11626db26757Swiz .default_str = "Pane is dead (" 11636db26757Swiz "#{?#{!=:#{pane_dead_status},}," 11646db26757Swiz "status #{pane_dead_status},}" 11656db26757Swiz "#{?#{!=:#{pane_dead_signal},}," 11666db26757Swiz "signal #{pane_dead_signal},}, " 11676db26757Swiz "#{t:pane_dead_time})", 11686db26757Swiz .text = "Message shown after the program in a pane has exited, if " 11696db26757Swiz "remain-on-exit is enabled." 11706db26757Swiz }, 11716db26757Swiz 11726db26757Swiz { .name = "scroll-on-clear", 11736db26757Swiz .type = OPTIONS_TABLE_FLAG, 11746db26757Swiz .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE, 11756db26757Swiz .default_num = 1, 11766db26757Swiz .text = "Whether the contents of the screen should be scrolled into" 11776db26757Swiz "history when clearing the whole screen." 11786db26757Swiz }, 11796db26757Swiz 1180d530c4d0Sjmmv { .name = "synchronize-panes", 1181d530c4d0Sjmmv .type = OPTIONS_TABLE_FLAG, 11829fb66d81Schristos .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE, 11839fb66d81Schristos .default_num = 0, 11849fb66d81Schristos .text = "Whether typing should be sent to all panes simultaneously." 1185d530c4d0Sjmmv }, 1186d530c4d0Sjmmv 11875494e770Schristos { .name = "window-active-style", 11889fb66d81Schristos .type = OPTIONS_TABLE_STRING, 11896483eba0Schristos .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE, 11909fb66d81Schristos .default_str = "default", 11919fb66d81Schristos .flags = OPTIONS_TABLE_IS_STYLE, 11929fb66d81Schristos .separator = ",", 11939fb66d81Schristos .text = "Default style of the active pane." 11945494e770Schristos }, 11955494e770Schristos 1196ef36e747Schristos { .name = "window-size", 1197ef36e747Schristos .type = OPTIONS_TABLE_CHOICE, 1198ef36e747Schristos .scope = OPTIONS_TABLE_WINDOW, 1199ef36e747Schristos .choices = options_table_window_size_list, 12009fb66d81Schristos .default_num = WINDOW_SIZE_LATEST, 12019fb66d81Schristos .text = "How window size is calculated. " 12029fb66d81Schristos "'latest' uses the size of the most recently used client, " 12039fb66d81Schristos "'largest' the largest client, 'smallest' the smallest " 12049fb66d81Schristos "client and 'manual' a size set by the 'resize-window' " 12059fb66d81Schristos "command." 1206ef36e747Schristos }, 1207ef36e747Schristos 12085494e770Schristos { .name = "window-style", 12099fb66d81Schristos .type = OPTIONS_TABLE_STRING, 12106483eba0Schristos .scope = OPTIONS_TABLE_WINDOW|OPTIONS_TABLE_PANE, 12119fb66d81Schristos .default_str = "default", 12129fb66d81Schristos .flags = OPTIONS_TABLE_IS_STYLE, 12139fb66d81Schristos .separator = ",", 12149fb66d81Schristos .text = "Default style of panes that are not the active pane." 12155494e770Schristos }, 12165494e770Schristos 1217928fc495Schristos { .name = "window-status-activity-style", 12189fb66d81Schristos .type = OPTIONS_TABLE_STRING, 1219ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 12209fb66d81Schristos .default_str = "reverse", 12219fb66d81Schristos .flags = OPTIONS_TABLE_IS_STYLE, 12229fb66d81Schristos .separator = ",", 12239fb66d81Schristos .text = "Style of windows in the status line with an activity alert." 1224d530c4d0Sjmmv }, 1225d530c4d0Sjmmv 1226928fc495Schristos { .name = "window-status-bell-style", 12279fb66d81Schristos .type = OPTIONS_TABLE_STRING, 1228ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 12299fb66d81Schristos .default_str = "reverse", 12309fb66d81Schristos .flags = OPTIONS_TABLE_IS_STYLE, 12319fb66d81Schristos .separator = ",", 12329fb66d81Schristos .text = "Style of windows in the status line with a bell alert." 1233d530c4d0Sjmmv }, 1234d530c4d0Sjmmv 1235d530c4d0Sjmmv { .name = "window-status-current-format", 1236d530c4d0Sjmmv .type = OPTIONS_TABLE_STRING, 1237ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 12389fb66d81Schristos .default_str = "#I:#W#{?window_flags,#{window_flags}, }", 12399fb66d81Schristos .text = "Format of the current window in the status line." 1240d530c4d0Sjmmv }, 1241d530c4d0Sjmmv 1242928fc495Schristos { .name = "window-status-current-style", 12439fb66d81Schristos .type = OPTIONS_TABLE_STRING, 1244ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 12459fb66d81Schristos .default_str = "default", 12469fb66d81Schristos .flags = OPTIONS_TABLE_IS_STYLE, 12479fb66d81Schristos .separator = ",", 12489fb66d81Schristos .text = "Style of the current window in the status line." 1249928fc495Schristos }, 1250928fc495Schristos 1251d530c4d0Sjmmv { .name = "window-status-format", 1252d530c4d0Sjmmv .type = OPTIONS_TABLE_STRING, 1253ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 12549fb66d81Schristos .default_str = "#I:#W#{?window_flags,#{window_flags}, }", 12559fb66d81Schristos .text = "Format of windows in the status line, except the current " 12569fb66d81Schristos "window." 1257d530c4d0Sjmmv }, 1258d530c4d0Sjmmv 1259928fc495Schristos { .name = "window-status-last-style", 12609fb66d81Schristos .type = OPTIONS_TABLE_STRING, 1261ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 12629fb66d81Schristos .default_str = "default", 12639fb66d81Schristos .flags = OPTIONS_TABLE_IS_STYLE, 12649fb66d81Schristos .separator = ",", 12659fb66d81Schristos .text = "Style of the last window in the status line." 1266928fc495Schristos }, 1267928fc495Schristos 1268928fc495Schristos { .name = "window-status-separator", 1269d530c4d0Sjmmv .type = OPTIONS_TABLE_STRING, 1270ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 12719fb66d81Schristos .default_str = " ", 12729fb66d81Schristos .text = "Separator between windows in the status line." 1273928fc495Schristos }, 1274928fc495Schristos 1275928fc495Schristos { .name = "window-status-style", 12769fb66d81Schristos .type = OPTIONS_TABLE_STRING, 1277ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 12789fb66d81Schristos .default_str = "default", 12799fb66d81Schristos .flags = OPTIONS_TABLE_IS_STYLE, 12809fb66d81Schristos .separator = ",", 12819fb66d81Schristos .text = "Style of windows in the status line, except the current and " 12829fb66d81Schristos "last windows." 1283928fc495Schristos }, 1284928fc495Schristos 1285928fc495Schristos { .name = "wrap-search", 1286928fc495Schristos .type = OPTIONS_TABLE_FLAG, 1287ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 12889fb66d81Schristos .default_num = 1, 12899fb66d81Schristos .text = "Whether searching in copy mode should wrap at the top or " 12909fb66d81Schristos "bottom." 1291d530c4d0Sjmmv }, 1292d530c4d0Sjmmv 12939fb66d81Schristos { .name = "xterm-keys", /* no longer used */ 1294d530c4d0Sjmmv .type = OPTIONS_TABLE_FLAG, 1295ed4e6cd4Schristos .scope = OPTIONS_TABLE_WINDOW, 12969fb66d81Schristos .default_num = 1, 12979fb66d81Schristos .text = "Whether xterm-style function key sequences should be sent. " 12989fb66d81Schristos "This option is no longer used." 1299d530c4d0Sjmmv }, 1300d530c4d0Sjmmv 13016483eba0Schristos /* Hook options. */ 13026483eba0Schristos OPTIONS_TABLE_HOOK("after-bind-key", ""), 13036483eba0Schristos OPTIONS_TABLE_HOOK("after-capture-pane", ""), 13046483eba0Schristos OPTIONS_TABLE_HOOK("after-copy-mode", ""), 13056483eba0Schristos OPTIONS_TABLE_HOOK("after-display-message", ""), 13066483eba0Schristos OPTIONS_TABLE_HOOK("after-display-panes", ""), 13076483eba0Schristos OPTIONS_TABLE_HOOK("after-kill-pane", ""), 13086483eba0Schristos OPTIONS_TABLE_HOOK("after-list-buffers", ""), 13096483eba0Schristos OPTIONS_TABLE_HOOK("after-list-clients", ""), 13106483eba0Schristos OPTIONS_TABLE_HOOK("after-list-keys", ""), 13116483eba0Schristos OPTIONS_TABLE_HOOK("after-list-panes", ""), 13126483eba0Schristos OPTIONS_TABLE_HOOK("after-list-sessions", ""), 13136483eba0Schristos OPTIONS_TABLE_HOOK("after-list-windows", ""), 13146483eba0Schristos OPTIONS_TABLE_HOOK("after-load-buffer", ""), 13156483eba0Schristos OPTIONS_TABLE_HOOK("after-lock-server", ""), 13166483eba0Schristos OPTIONS_TABLE_HOOK("after-new-session", ""), 13176483eba0Schristos OPTIONS_TABLE_HOOK("after-new-window", ""), 13186483eba0Schristos OPTIONS_TABLE_HOOK("after-paste-buffer", ""), 13196483eba0Schristos OPTIONS_TABLE_HOOK("after-pipe-pane", ""), 13206483eba0Schristos OPTIONS_TABLE_HOOK("after-queue", ""), 13216483eba0Schristos OPTIONS_TABLE_HOOK("after-refresh-client", ""), 13226483eba0Schristos OPTIONS_TABLE_HOOK("after-rename-session", ""), 13236483eba0Schristos OPTIONS_TABLE_HOOK("after-rename-window", ""), 13246483eba0Schristos OPTIONS_TABLE_HOOK("after-resize-pane", ""), 13256483eba0Schristos OPTIONS_TABLE_HOOK("after-resize-window", ""), 13266483eba0Schristos OPTIONS_TABLE_HOOK("after-save-buffer", ""), 13276483eba0Schristos OPTIONS_TABLE_HOOK("after-select-layout", ""), 13286483eba0Schristos OPTIONS_TABLE_HOOK("after-select-pane", ""), 13296483eba0Schristos OPTIONS_TABLE_HOOK("after-select-window", ""), 13306483eba0Schristos OPTIONS_TABLE_HOOK("after-send-keys", ""), 13316483eba0Schristos OPTIONS_TABLE_HOOK("after-set-buffer", ""), 13326483eba0Schristos OPTIONS_TABLE_HOOK("after-set-environment", ""), 13336483eba0Schristos OPTIONS_TABLE_HOOK("after-set-hook", ""), 13346483eba0Schristos OPTIONS_TABLE_HOOK("after-set-option", ""), 13356483eba0Schristos OPTIONS_TABLE_HOOK("after-show-environment", ""), 13366483eba0Schristos OPTIONS_TABLE_HOOK("after-show-messages", ""), 13376483eba0Schristos OPTIONS_TABLE_HOOK("after-show-options", ""), 13386483eba0Schristos OPTIONS_TABLE_HOOK("after-split-window", ""), 13396483eba0Schristos OPTIONS_TABLE_HOOK("after-unbind-key", ""), 13406483eba0Schristos OPTIONS_TABLE_HOOK("alert-activity", ""), 13416483eba0Schristos OPTIONS_TABLE_HOOK("alert-bell", ""), 13426483eba0Schristos OPTIONS_TABLE_HOOK("alert-silence", ""), 13436db26757Swiz OPTIONS_TABLE_HOOK("client-active", ""), 13446483eba0Schristos OPTIONS_TABLE_HOOK("client-attached", ""), 13456483eba0Schristos OPTIONS_TABLE_HOOK("client-detached", ""), 13466db26757Swiz OPTIONS_TABLE_HOOK("client-focus-in", ""), 13476db26757Swiz OPTIONS_TABLE_HOOK("client-focus-out", ""), 13486483eba0Schristos OPTIONS_TABLE_HOOK("client-resized", ""), 13496483eba0Schristos OPTIONS_TABLE_HOOK("client-session-changed", ""), 1350*f8cf1a91Swiz OPTIONS_TABLE_HOOK("command-error", ""), 13519fb66d81Schristos OPTIONS_TABLE_PANE_HOOK("pane-died", ""), 13529fb66d81Schristos OPTIONS_TABLE_PANE_HOOK("pane-exited", ""), 13539fb66d81Schristos OPTIONS_TABLE_PANE_HOOK("pane-focus-in", ""), 13549fb66d81Schristos OPTIONS_TABLE_PANE_HOOK("pane-focus-out", ""), 13559fb66d81Schristos OPTIONS_TABLE_PANE_HOOK("pane-mode-changed", ""), 13569fb66d81Schristos OPTIONS_TABLE_PANE_HOOK("pane-set-clipboard", ""), 13579fb66d81Schristos OPTIONS_TABLE_PANE_HOOK("pane-title-changed", ""), 13586483eba0Schristos OPTIONS_TABLE_HOOK("session-closed", ""), 13596483eba0Schristos OPTIONS_TABLE_HOOK("session-created", ""), 13606483eba0Schristos OPTIONS_TABLE_HOOK("session-renamed", ""), 13616483eba0Schristos OPTIONS_TABLE_HOOK("session-window-changed", ""), 13629fb66d81Schristos OPTIONS_TABLE_WINDOW_HOOK("window-layout-changed", ""), 13636db26757Swiz OPTIONS_TABLE_HOOK("window-linked", ""), 13649fb66d81Schristos OPTIONS_TABLE_WINDOW_HOOK("window-pane-changed", ""), 13659fb66d81Schristos OPTIONS_TABLE_WINDOW_HOOK("window-renamed", ""), 13666db26757Swiz OPTIONS_TABLE_WINDOW_HOOK("window-resized", ""), 13676db26757Swiz OPTIONS_TABLE_HOOK("window-unlinked", ""), 13686483eba0Schristos 1369d530c4d0Sjmmv { .name = NULL } 1370d530c4d0Sjmmv }; 1371