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

1.86    ! nicm        1: /* $OpenBSD: options-table.c,v 1.85 2017/01/24 20:05:15 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",
1.86    ! nicm      485:          .type = OPTIONS_TABLE_ARRAY,
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:        { .name = "visual-activity",
                    492:          .type = OPTIONS_TABLE_FLAG,
1.67      nicm      493:          .scope = OPTIONS_TABLE_SESSION,
1.1       nicm      494:          .default_num = 0
                    495:        },
                    496:
                    497:        { .name = "visual-bell",
                    498:          .type = OPTIONS_TABLE_FLAG,
1.67      nicm      499:          .scope = OPTIONS_TABLE_SESSION,
1.1       nicm      500:          .default_num = 0
                    501:        },
                    502:
                    503:        { .name = "visual-silence",
                    504:          .type = OPTIONS_TABLE_FLAG,
1.67      nicm      505:          .scope = OPTIONS_TABLE_SESSION,
1.1       nicm      506:          .default_num = 0
                    507:        },
                    508:
1.16      nicm      509:        { .name = "word-separators",
                    510:          .type = OPTIONS_TABLE_STRING,
1.67      nicm      511:          .scope = OPTIONS_TABLE_SESSION,
1.16      nicm      512:          .default_str = " -_@"
                    513:        },
                    514:
1.1       nicm      515:        { .name = "aggressive-resize",
                    516:          .type = OPTIONS_TABLE_FLAG,
1.67      nicm      517:          .scope = OPTIONS_TABLE_WINDOW,
1.1       nicm      518:          .default_num = 0
1.17      nicm      519:        },
                    520:
                    521:        { .name = "allow-rename",
                    522:          .type = OPTIONS_TABLE_FLAG,
1.67      nicm      523:          .scope = OPTIONS_TABLE_WINDOW,
1.17      nicm      524:          .default_num = 1
1.1       nicm      525:        },
                    526:
                    527:        { .name = "alternate-screen",
                    528:          .type = OPTIONS_TABLE_FLAG,
1.67      nicm      529:          .scope = OPTIONS_TABLE_WINDOW,
1.1       nicm      530:          .default_num = 1
                    531:        },
                    532:
                    533:        { .name = "automatic-rename",
                    534:          .type = OPTIONS_TABLE_FLAG,
1.67      nicm      535:          .scope = OPTIONS_TABLE_WINDOW,
1.1       nicm      536:          .default_num = 1
1.41      nicm      537:        },
                    538:
                    539:        { .name = "automatic-rename-format",
                    540:          .type = OPTIONS_TABLE_STRING,
1.67      nicm      541:          .scope = OPTIONS_TABLE_WINDOW,
1.50      nicm      542:          .default_str = "#{?pane_in_mode,[tmux],#{pane_current_command}}"
                    543:                         "#{?pane_dead,[dead],}"
1.1       nicm      544:        },
                    545:
                    546:        { .name = "clock-mode-colour",
                    547:          .type = OPTIONS_TABLE_COLOUR,
1.67      nicm      548:          .scope = OPTIONS_TABLE_WINDOW,
1.1       nicm      549:          .default_num = 4
                    550:        },
                    551:
                    552:        { .name = "clock-mode-style",
                    553:          .type = OPTIONS_TABLE_CHOICE,
1.67      nicm      554:          .scope = OPTIONS_TABLE_WINDOW,
1.1       nicm      555:          .choices = options_table_clock_mode_style_list,
                    556:          .default_num = 1
                    557:        },
                    558:
                    559:        { .name = "force-height",
                    560:          .type = OPTIONS_TABLE_NUMBER,
1.67      nicm      561:          .scope = OPTIONS_TABLE_WINDOW,
1.1       nicm      562:          .minimum = 0,
                    563:          .maximum = INT_MAX,
                    564:          .default_num = 0
                    565:        },
                    566:
                    567:        { .name = "force-width",
                    568:          .type = OPTIONS_TABLE_NUMBER,
1.67      nicm      569:          .scope = OPTIONS_TABLE_WINDOW,
1.1       nicm      570:          .minimum = 0,
                    571:          .maximum = INT_MAX,
                    572:          .default_num = 0
                    573:        },
                    574:
                    575:        { .name = "main-pane-height",
                    576:          .type = OPTIONS_TABLE_NUMBER,
1.67      nicm      577:          .scope = OPTIONS_TABLE_WINDOW,
1.1       nicm      578:          .minimum = 1,
                    579:          .maximum = INT_MAX,
                    580:          .default_num = 24
                    581:        },
                    582:
                    583:        { .name = "main-pane-width",
                    584:          .type = OPTIONS_TABLE_NUMBER,
1.67      nicm      585:          .scope = OPTIONS_TABLE_WINDOW,
1.1       nicm      586:          .minimum = 1,
                    587:          .maximum = INT_MAX,
                    588:          .default_num = 80
                    589:        },
                    590:
                    591:        { .name = "mode-attr",
                    592:          .type = OPTIONS_TABLE_ATTRIBUTES,
1.67      nicm      593:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      594:          .default_num = 0,
                    595:          .style = "mode-style"
1.1       nicm      596:        },
                    597:
                    598:        { .name = "mode-bg",
                    599:          .type = OPTIONS_TABLE_COLOUR,
1.67      nicm      600:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      601:          .default_num = 3,
                    602:          .style = "mode-style"
1.1       nicm      603:        },
                    604:
                    605:        { .name = "mode-fg",
                    606:          .type = OPTIONS_TABLE_COLOUR,
1.67      nicm      607:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      608:          .default_num = 0,
                    609:          .style = "mode-style"
1.1       nicm      610:        },
                    611:
                    612:        { .name = "mode-keys",
                    613:          .type = OPTIONS_TABLE_CHOICE,
1.67      nicm      614:          .scope = OPTIONS_TABLE_WINDOW,
1.1       nicm      615:          .choices = options_table_mode_keys_list,
                    616:          .default_num = MODEKEY_EMACS
                    617:        },
                    618:
1.43      nicm      619:        { .name = "mode-style",
                    620:          .type = OPTIONS_TABLE_STYLE,
1.67      nicm      621:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      622:          .default_str = "bg=yellow,fg=black"
                    623:        },
                    624:
1.1       nicm      625:        { .name = "monitor-activity",
                    626:          .type = OPTIONS_TABLE_FLAG,
1.67      nicm      627:          .scope = OPTIONS_TABLE_WINDOW,
1.1       nicm      628:          .default_num = 0
                    629:        },
                    630:
                    631:        { .name = "monitor-silence",
                    632:          .type = OPTIONS_TABLE_NUMBER,
1.67      nicm      633:          .scope = OPTIONS_TABLE_WINDOW,
1.1       nicm      634:          .minimum = 0,
                    635:          .maximum = INT_MAX,
                    636:          .default_num = 0
                    637:        },
                    638:
                    639:        { .name = "other-pane-height",
                    640:          .type = OPTIONS_TABLE_NUMBER,
1.67      nicm      641:          .scope = OPTIONS_TABLE_WINDOW,
1.1       nicm      642:          .minimum = 0,
                    643:          .maximum = INT_MAX,
                    644:          .default_num = 0
                    645:        },
                    646:
                    647:        { .name = "other-pane-width",
                    648:          .type = OPTIONS_TABLE_NUMBER,
1.67      nicm      649:          .scope = OPTIONS_TABLE_WINDOW,
1.1       nicm      650:          .minimum = 0,
                    651:          .maximum = INT_MAX,
1.13      nicm      652:          .default_num = 0
                    653:        },
                    654:
1.53      nicm      655:        { .name = "pane-active-border-bg",
                    656:          .type = OPTIONS_TABLE_COLOUR,
1.67      nicm      657:          .scope = OPTIONS_TABLE_WINDOW,
1.53      nicm      658:          .default_num = 8,
                    659:          .style = "pane-active-border-style"
                    660:        },
                    661:
                    662:        { .name = "pane-active-border-fg",
                    663:          .type = OPTIONS_TABLE_COLOUR,
1.67      nicm      664:          .scope = OPTIONS_TABLE_WINDOW,
1.53      nicm      665:          .default_num = 2,
                    666:          .style = "pane-active-border-style"
                    667:        },
                    668:
                    669:        { .name = "pane-active-border-style",
                    670:          .type = OPTIONS_TABLE_STYLE,
1.67      nicm      671:          .scope = OPTIONS_TABLE_WINDOW,
1.53      nicm      672:          .default_str = "fg=green"
                    673:        },
                    674:
1.13      nicm      675:        { .name = "pane-base-index",
                    676:          .type = OPTIONS_TABLE_NUMBER,
1.67      nicm      677:          .scope = OPTIONS_TABLE_WINDOW,
1.13      nicm      678:          .minimum = 0,
                    679:          .maximum = USHRT_MAX,
1.22      nicm      680:          .default_num = 0
1.53      nicm      681:        },
                    682:
                    683:        { .name = "pane-border-bg",
                    684:          .type = OPTIONS_TABLE_COLOUR,
1.67      nicm      685:          .scope = OPTIONS_TABLE_WINDOW,
1.53      nicm      686:          .default_num = 8,
                    687:          .style = "pane-border-style"
                    688:        },
                    689:
                    690:        { .name = "pane-border-fg",
                    691:          .type = OPTIONS_TABLE_COLOUR,
1.67      nicm      692:          .scope = OPTIONS_TABLE_WINDOW,
1.53      nicm      693:          .default_num = 8,
                    694:          .style = "pane-border-style"
1.72      nicm      695:        },
                    696:
                    697:        { .name = "pane-border-format",
                    698:          .type = OPTIONS_TABLE_STRING,
                    699:          .scope = OPTIONS_TABLE_WINDOW,
1.73      nicm      700:          .default_str = "#{?pane_active,#[reverse],}#{pane_index}#[default] "
                    701:                         "\"#{pane_title}\""
1.72      nicm      702:        },
                    703:
                    704:        { .name = "pane-border-status",
                    705:          .type = OPTIONS_TABLE_CHOICE,
                    706:          .scope = OPTIONS_TABLE_WINDOW,
                    707:          .choices = options_table_pane_status_list,
                    708:          .default_num = 0
1.53      nicm      709:        },
                    710:
                    711:        { .name = "pane-border-style",
                    712:          .type = OPTIONS_TABLE_STYLE,
1.67      nicm      713:          .scope = OPTIONS_TABLE_WINDOW,
1.53      nicm      714:          .default_str = "default"
1.22      nicm      715:        },
                    716:
1.1       nicm      717:        { .name = "remain-on-exit",
                    718:          .type = OPTIONS_TABLE_FLAG,
1.67      nicm      719:          .scope = OPTIONS_TABLE_WINDOW,
1.1       nicm      720:          .default_num = 0
                    721:        },
                    722:
                    723:        { .name = "synchronize-panes",
                    724:          .type = OPTIONS_TABLE_FLAG,
1.67      nicm      725:          .scope = OPTIONS_TABLE_WINDOW,
1.1       nicm      726:          .default_num = 0
1.54      nicm      727:        },
                    728:
                    729:        { .name = "window-active-style",
                    730:          .type = OPTIONS_TABLE_STYLE,
1.67      nicm      731:          .scope = OPTIONS_TABLE_WINDOW,
1.54      nicm      732:          .default_str = "default"
                    733:        },
                    734:
                    735:        { .name = "window-style",
                    736:          .type = OPTIONS_TABLE_STYLE,
1.67      nicm      737:          .scope = OPTIONS_TABLE_WINDOW,
1.54      nicm      738:          .default_str = "default"
1.1       nicm      739:        },
                    740:
1.21      nicm      741:        { .name = "window-status-activity-attr",
1.1       nicm      742:          .type = OPTIONS_TABLE_ATTRIBUTES,
1.67      nicm      743:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      744:          .default_num = GRID_ATTR_REVERSE,
                    745:          .style = "window-status-activity-style"
1.1       nicm      746:        },
                    747:
1.21      nicm      748:        { .name = "window-status-activity-bg",
1.1       nicm      749:          .type = OPTIONS_TABLE_COLOUR,
1.67      nicm      750:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      751:          .default_num = 8,
                    752:          .style = "window-status-activity-style"
1.1       nicm      753:        },
                    754:
1.21      nicm      755:        { .name = "window-status-activity-fg",
1.18      nicm      756:          .type = OPTIONS_TABLE_COLOUR,
1.67      nicm      757:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      758:          .default_num = 8,
                    759:          .style = "window-status-activity-style"
                    760:        },
                    761:
                    762:        { .name = "window-status-activity-style",
                    763:          .type = OPTIONS_TABLE_STYLE,
1.67      nicm      764:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      765:          .default_str = "reverse"
                    766:        },
                    767:
                    768:        { .name = "window-status-attr",
                    769:          .type = OPTIONS_TABLE_ATTRIBUTES,
1.67      nicm      770:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      771:          .default_num = 0,
                    772:          .style = "window-status-style"
1.18      nicm      773:        },
                    774:
1.21      nicm      775:        { .name = "window-status-bell-attr",
1.18      nicm      776:          .type = OPTIONS_TABLE_ATTRIBUTES,
1.67      nicm      777:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      778:          .default_num = GRID_ATTR_REVERSE,
                    779:          .style = "window-status-bell-style"
1.18      nicm      780:        },
                    781:
1.21      nicm      782:        { .name = "window-status-bell-bg",
1.18      nicm      783:          .type = OPTIONS_TABLE_COLOUR,
1.67      nicm      784:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      785:          .default_num = 8,
                    786:          .style = "window-status-bell-style"
1.18      nicm      787:        },
                    788:
1.21      nicm      789:        { .name = "window-status-bell-fg",
1.18      nicm      790:          .type = OPTIONS_TABLE_COLOUR,
1.67      nicm      791:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      792:          .default_num = 8,
                    793:          .style = "window-status-bell-style"
                    794:        },
                    795:
                    796:        { .name = "window-status-bell-style",
                    797:          .type = OPTIONS_TABLE_STYLE,
1.67      nicm      798:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      799:          .default_str = "reverse"
                    800:        },
                    801:
                    802:        { .name = "window-status-bg",
                    803:          .type = OPTIONS_TABLE_COLOUR,
1.67      nicm      804:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      805:          .default_num = 8,
                    806:          .style = "window-status-style"
1.1       nicm      807:        },
                    808:
                    809:        { .name = "window-status-current-attr",
                    810:          .type = OPTIONS_TABLE_ATTRIBUTES,
1.67      nicm      811:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      812:          .default_num = 0,
                    813:          .style = "window-status-current-style"
1.1       nicm      814:        },
                    815:
                    816:        { .name = "window-status-current-bg",
                    817:          .type = OPTIONS_TABLE_COLOUR,
1.67      nicm      818:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      819:          .default_num = 8,
                    820:          .style = "window-status-current-style"
1.1       nicm      821:        },
                    822:
                    823:        { .name = "window-status-current-fg",
                    824:          .type = OPTIONS_TABLE_COLOUR,
1.67      nicm      825:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      826:          .default_num = 8,
                    827:          .style = "window-status-current-style"
1.1       nicm      828:        },
                    829:
                    830:        { .name = "window-status-current-format",
                    831:          .type = OPTIONS_TABLE_STRING,
1.67      nicm      832:          .scope = OPTIONS_TABLE_WINDOW,
1.57      nicm      833:          .default_str = "#I:#W#{?window_flags,#{window_flags}, }"
1.30      nicm      834:        },
                    835:
1.43      nicm      836:        { .name = "window-status-current-style",
                    837:          .type = OPTIONS_TABLE_STYLE,
1.67      nicm      838:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      839:          .default_str = "default"
                    840:        },
                    841:
                    842:        { .name = "window-status-fg",
                    843:          .type = OPTIONS_TABLE_COLOUR,
1.67      nicm      844:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      845:          .default_num = 8,
                    846:          .style = "window-status-style"
                    847:        },
                    848:
                    849:        { .name = "window-status-format",
                    850:          .type = OPTIONS_TABLE_STRING,
1.67      nicm      851:          .scope = OPTIONS_TABLE_WINDOW,
1.57      nicm      852:          .default_str = "#I:#W#{?window_flags,#{window_flags}, }"
1.43      nicm      853:        },
                    854:
1.30      nicm      855:        { .name = "window-status-last-attr",
                    856:          .type = OPTIONS_TABLE_ATTRIBUTES,
1.67      nicm      857:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      858:          .default_num = 0,
                    859:          .style = "window-status-last-style"
1.30      nicm      860:        },
                    861:
                    862:        { .name = "window-status-last-bg",
                    863:          .type = OPTIONS_TABLE_COLOUR,
1.67      nicm      864:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      865:          .default_num = 8,
                    866:          .style = "window-status-last-style"
1.30      nicm      867:        },
                    868:
                    869:        { .name = "window-status-last-fg",
                    870:          .type = OPTIONS_TABLE_COLOUR,
1.67      nicm      871:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      872:          .default_num = 8,
                    873:          .style = "window-status-last-style"
1.1       nicm      874:        },
                    875:
1.43      nicm      876:        { .name = "window-status-last-style",
                    877:          .type = OPTIONS_TABLE_STYLE,
1.67      nicm      878:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      879:          .default_str = "default"
1.1       nicm      880:        },
                    881:
1.43      nicm      882:        { .name = "window-status-separator",
1.1       nicm      883:          .type = OPTIONS_TABLE_STRING,
1.67      nicm      884:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      885:          .default_str = " "
1.28      nicm      886:        },
                    887:
1.43      nicm      888:        { .name = "window-status-style",
                    889:          .type = OPTIONS_TABLE_STYLE,
1.67      nicm      890:          .scope = OPTIONS_TABLE_WINDOW,
1.43      nicm      891:          .default_str = "default"
1.24      nicm      892:        },
                    893:
                    894:        { .name = "wrap-search",
                    895:          .type = OPTIONS_TABLE_FLAG,
1.67      nicm      896:          .scope = OPTIONS_TABLE_WINDOW,
1.24      nicm      897:          .default_num = 1
1.1       nicm      898:        },
                    899:
                    900:        { .name = "xterm-keys",
                    901:          .type = OPTIONS_TABLE_FLAG,
1.67      nicm      902:          .scope = OPTIONS_TABLE_WINDOW,
1.76      nicm      903:          .default_num = 1
1.1       nicm      904:        },
                    905:
                    906:        { .name = NULL }
                    907: };