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