[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.85

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