[BACK]Return to options-table.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / tmux

Annotation of src/usr.bin/tmux/options-table.c, Revision 1.96

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