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