1.\" $OpenBSD: tmux.1,v 1.887 2022/04/14 06:59:29 nicm Exp $ 2.\" 3.\" Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com> 4.\" 5.\" Permission to use, copy, modify, and distribute this software for any 6.\" purpose with or without fee is hereby granted, provided that the above 7.\" copyright notice and this permission notice appear in all copies. 8.\" 9.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13.\" WHATSOEVER RESULTING FROM LOSS OF MIND, USE, DATA OR PROFITS, WHETHER 14.\" IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING 15.\" OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16.\" 17.Dd $Mdocdate: April 14 2022 $ 18.Dt TMUX 1 19.Os 20.Sh NAME 21.Nm tmux 22.Nd terminal multiplexer 23.Sh SYNOPSIS 24.Nm tmux 25.Bk -words 26.Op Fl 2CDluvV 27.Op Fl c Ar shell-command 28.Op Fl f Ar file 29.Op Fl L Ar socket-name 30.Op Fl S Ar socket-path 31.Op Fl T Ar features 32.Op Ar command Op Ar flags 33.Ek 34.Sh DESCRIPTION 35.Nm 36is a terminal multiplexer: 37it enables a number of terminals to be created, accessed, and 38controlled from a single screen. 39.Nm 40may be detached from a screen 41and continue running in the background, 42then later reattached. 43.Pp 44When 45.Nm 46is started, it creates a new 47.Em session 48with a single 49.Em window 50and displays it on screen. 51A status line at the bottom of the screen 52shows information on the current session 53and is used to enter interactive commands. 54.Pp 55A session is a single collection of 56.Em pseudo terminals 57under the management of 58.Nm . 59Each session has one or more 60windows linked to it. 61A window occupies the entire screen 62and may be split into rectangular panes, 63each of which is a separate pseudo terminal 64(the 65.Xr pty 4 66manual page documents the technical details of pseudo terminals). 67Any number of 68.Nm 69instances may connect to the same session, 70and any number of windows may be present in the same session. 71Once all sessions are killed, 72.Nm 73exits. 74.Pp 75Each session is persistent and will survive accidental disconnection 76(such as 77.Xr ssh 1 78connection timeout) or intentional detaching (with the 79.Ql C-b d 80key strokes). 81.Nm 82may be reattached using: 83.Pp 84.Dl $ tmux attach 85.Pp 86In 87.Nm , 88a session is displayed on screen by a 89.Em client 90and all sessions are managed by a single 91.Em server . 92The server and each client are separate processes which communicate through a 93socket in 94.Pa /tmp . 95.Pp 96The options are as follows: 97.Bl -tag -width "XXXXXXXXXXXX" 98.It Fl 2 99Force 100.Nm 101to assume the terminal supports 256 colours. 102This is equivalent to 103.Fl T Ar 256 . 104.It Fl C 105Start in control mode (see the 106.Sx CONTROL MODE 107section). 108Given twice 109.Xo ( Fl CC ) Xc 110disables echo. 111.It Fl c Ar shell-command 112Execute 113.Ar shell-command 114using the default shell. 115If necessary, the 116.Nm 117server will be started to retrieve the 118.Ic default-shell 119option. 120This option is for compatibility with 121.Xr sh 1 122when 123.Nm 124is used as a login shell. 125.It Fl D 126Do not start the 127.Nm 128server as a daemon. 129This also turns the 130.Ic exit-empty 131option off. 132With 133.Fl D , 134.Ar command 135may not be specified. 136.It Fl f Ar file 137Specify an alternative configuration file. 138By default, 139.Nm 140loads the system configuration file from 141.Pa /etc/tmux.conf , 142if present, then looks for a user configuration file at 143.Pa ~/.tmux.conf . 144.Pp 145The configuration file is a set of 146.Nm 147commands which are executed in sequence when the server is first started. 148.Nm 149loads configuration files once when the server process has started. 150The 151.Ic source-file 152command may be used to load a file later. 153.Pp 154.Nm 155shows any error messages from commands in configuration files in the first 156session created, and continues to process the rest of the configuration file. 157.It Fl L Ar socket-name 158.Nm 159stores the server socket in a directory under 160.Ev TMUX_TMPDIR 161or 162.Pa /tmp 163if it is unset. 164The default socket is named 165.Em default . 166This option allows a different socket name to be specified, allowing several 167independent 168.Nm 169servers to be run. 170Unlike 171.Fl S 172a full path is not necessary: the sockets are all created in a directory 173.Pa tmux-UID 174under the directory given by 175.Ev TMUX_TMPDIR 176or in 177.Pa /tmp . 178The 179.Pa tmux-UID 180directory is created by 181.Nm 182and must not be world readable, writable or executable. 183.Pp 184If the socket is accidentally removed, the 185.Dv SIGUSR1 186signal may be sent to the 187.Nm 188server process to recreate it (note that this will fail if any parent 189directories are missing). 190.It Fl l 191Behave as a login shell. 192This flag currently has no effect and is for compatibility with other shells 193when using tmux as a login shell. 194.It Fl N 195Do not start the server even if the command would normally do so (for example 196.Ic new-session 197or 198.Ic start-server ) . 199.It Fl S Ar socket-path 200Specify a full alternative path to the server socket. 201If 202.Fl S 203is specified, the default socket directory is not used and any 204.Fl L 205flag is ignored. 206.It Fl u 207Write UTF-8 output to the terminal even if the first environment 208variable of 209.Ev LC_ALL , 210.Ev LC_CTYPE , 211or 212.Ev LANG 213that is set does not contain 214.Qq UTF-8 215or 216.Qq UTF8 . 217This is equivalent to 218.Fl T Ar UTF-8 . 219.It Fl T Ar features 220Set terminal features for the client. 221This is a comma-separated list of features. 222See the 223.Ic terminal-features 224option. 225.It Fl v 226Request verbose logging. 227Log messages will be saved into 228.Pa tmux-client-PID.log 229and 230.Pa tmux-server-PID.log 231files in the current directory, where 232.Em PID 233is the PID of the server or client process. 234If 235.Fl v 236is specified twice, an additional 237.Pa tmux-out-PID.log 238file is generated with a copy of everything 239.Nm 240writes to the terminal. 241.Pp 242The 243.Dv SIGUSR2 244signal may be sent to the 245.Nm 246server process to toggle logging between on (as if 247.Fl v 248was given) and off. 249.It Fl V 250Report the 251.Nm 252version. 253.It Ar command Op Ar flags 254This specifies one of a set of commands used to control 255.Nm , 256as described in the following sections. 257If no commands are specified, the 258.Ic new-session 259command is assumed. 260.El 261.Sh DEFAULT KEY BINDINGS 262.Nm 263may be controlled from an attached client by using a key combination of a 264prefix key, 265.Ql C-b 266(Ctrl-b) by default, followed by a command key. 267.Pp 268The default command key bindings are: 269.Pp 270.Bl -tag -width "XXXXXXXXXX" -offset indent -compact 271.It C-b 272Send the prefix key (C-b) through to the application. 273.It C-o 274Rotate the panes in the current window forwards. 275.It C-z 276Suspend the 277.Nm 278client. 279.It ! 280Break the current pane out of the window. 281.It \&" 282.\" " 283Split the current pane into two, top and bottom. 284.It # 285List all paste buffers. 286.It $ 287Rename the current session. 288.It % 289Split the current pane into two, left and right. 290.It & 291Kill the current window. 292.It ' 293Prompt for a window index to select. 294.It \&( 295Switch the attached client to the previous session. 296.It \&) 297Switch the attached client to the next session. 298.It , 299Rename the current window. 300.It - 301Delete the most recently copied buffer of text. 302.It . 303Prompt for an index to move the current window. 304.It 0 to 9 305Select windows 0 to 9. 306.It : 307Enter the 308.Nm 309command prompt. 310.It ; 311Move to the previously active pane. 312.It = 313Choose which buffer to paste interactively from a list. 314.It \&? 315List all key bindings. 316.It D 317Choose a client to detach. 318.It L 319Switch the attached client back to the last session. 320.It \&[ 321Enter copy mode to copy text or view the history. 322.It \&] 323Paste the most recently copied buffer of text. 324.It c 325Create a new window. 326.It d 327Detach the current client. 328.It f 329Prompt to search for text in open windows. 330.It i 331Display some information about the current window. 332.It l 333Move to the previously selected window. 334.It m 335Mark the current pane (see 336.Ic select-pane 337.Fl m ) . 338.It M 339Clear the marked pane. 340.It n 341Change to the next window. 342.It o 343Select the next pane in the current window. 344.It p 345Change to the previous window. 346.It q 347Briefly display pane indexes. 348.It r 349Force redraw of the attached client. 350.It s 351Select a new session for the attached client interactively. 352.It t 353Show the time. 354.It w 355Choose the current window interactively. 356.It x 357Kill the current pane. 358.It z 359Toggle zoom state of the current pane. 360.It { 361Swap the current pane with the previous pane. 362.It } 363Swap the current pane with the next pane. 364.It ~ 365Show previous messages from 366.Nm , 367if any. 368.It Page Up 369Enter copy mode and scroll one page up. 370.It Up, Down 371.It Left, Right 372Change to the pane above, below, to the left, or to the right of the current 373pane. 374.It M-1 to M-5 375Arrange panes in one of the five preset layouts: even-horizontal, 376even-vertical, main-horizontal, main-vertical, or tiled. 377.It Space 378Arrange the current window in the next preset layout. 379.It M-n 380Move to the next window with a bell or activity marker. 381.It M-o 382Rotate the panes in the current window backwards. 383.It M-p 384Move to the previous window with a bell or activity marker. 385.It C-Up, C-Down 386.It C-Left, C-Right 387Resize the current pane in steps of one cell. 388.It M-Up, M-Down 389.It M-Left, M-Right 390Resize the current pane in steps of five cells. 391.El 392.Pp 393Key bindings may be changed with the 394.Ic bind-key 395and 396.Ic unbind-key 397commands. 398.Sh COMMAND PARSING AND EXECUTION 399.Nm 400supports a large number of commands which can be used to control its 401behaviour. 402Each command is named and can accept zero or more flags and arguments. 403They may be bound to a key with the 404.Ic bind-key 405command or run from the shell prompt, a shell script, a configuration file or 406the command prompt. 407For example, the same 408.Ic set-option 409command run from the shell prompt, from 410.Pa ~/.tmux.conf 411and bound to a key may look like: 412.Bd -literal -offset indent 413$ tmux set-option -g status-style bg=cyan 414 415set-option -g status-style bg=cyan 416 417bind-key C set-option -g status-style bg=cyan 418.Ed 419.Pp 420Here, the command name is 421.Ql set-option , 422.Ql Fl g 423is a flag and 424.Ql status-style 425and 426.Ql bg=cyan 427are arguments. 428.Pp 429.Nm 430distinguishes between command parsing and execution. 431In order to execute a command, 432.Nm 433needs it to be split up into its name and arguments. 434This is command parsing. 435If a command is run from the shell, the shell parses it; from inside 436.Nm 437or from a configuration file, 438.Nm 439does. 440Examples of when 441.Nm 442parses commands are: 443.Bl -dash -offset indent 444.It 445in a configuration file; 446.It 447typed at the command prompt (see 448.Ic command-prompt ) ; 449.It 450given to 451.Ic bind-key ; 452.It 453passed as arguments to 454.Ic if-shell 455or 456.Ic confirm-before . 457.El 458.Pp 459To execute commands, each client has a 460.Ql command queue . 461A global command queue not attached to any client is used on startup 462for configuration files like 463.Pa ~/.tmux.conf . 464Parsed commands added to the queue are executed in order. 465Some commands, like 466.Ic if-shell 467and 468.Ic confirm-before , 469parse their argument to create a new command which is inserted immediately 470after themselves. 471This means that arguments can be parsed twice or more - once when the parent command (such as 472.Ic if-shell ) 473is parsed and again when it parses and executes its command. 474Commands like 475.Ic if-shell , 476.Ic run-shell 477and 478.Ic display-panes 479stop execution of subsequent commands on the queue until something happens - 480.Ic if-shell 481and 482.Ic run-shell 483until a shell command finishes and 484.Ic display-panes 485until a key is pressed. 486For example, the following commands: 487.Bd -literal -offset indent 488new-session; new-window 489if-shell "true" "split-window" 490kill-session 491.Ed 492.Pp 493Will execute 494.Ic new-session , 495.Ic new-window , 496.Ic if-shell , 497the shell command 498.Xr true 1 , 499.Ic split-window 500and 501.Ic kill-session 502in that order. 503.Pp 504The 505.Sx COMMANDS 506section lists the 507.Nm 508commands and their arguments. 509.Sh PARSING SYNTAX 510This section describes the syntax of commands parsed by 511.Nm , 512for example in a configuration file or at the command prompt. 513Note that when commands are entered into the shell, they are parsed by the shell 514- see for example 515.Xr ksh 1 516or 517.Xr csh 1 . 518.Pp 519Each command is terminated by a newline or a semicolon (;). 520Commands separated by semicolons together form a 521.Ql command sequence 522- if a command in the sequence encounters an error, no subsequent commands are 523executed. 524.Pp 525It is recommended that a semicolon used as a command separator should be 526written as an individual token, for example from 527.Xr sh 1 : 528.Bd -literal -offset indent 529$ tmux neww \\; splitw 530.Ed 531.Pp 532Or: 533.Bd -literal -offset indent 534$ tmux neww ';' splitw 535.Ed 536.Pp 537Or from the tmux command prompt: 538.Bd -literal -offset indent 539neww ; splitw 540.Ed 541.Pp 542However, a trailing semicolon is also interpreted as a command separator, 543for example in these 544.Xr sh 1 545commands: 546.Bd -literal -offset indent 547$ tmux neww\e\e; splitw 548.Ed 549.Pp 550Or: 551.Bd -literal -offset indent 552$ tmux 'neww;' splitw 553.Ed 554.Pp 555As in these examples, when running tmux from the shell extra care must be taken 556to properly quote semicolons: 557.Bl -enum -offset Ds 558.It 559Semicolons that should be interpreted as a command separator 560should be escaped according to the shell conventions. 561For 562.Xr sh 1 563this typically means quoted (such as 564.Ql neww ';' splitw ) 565or escaped (such as 566.Ql neww \e\e\e\e; splitw ) . 567.It 568Individual semicolons or trailing semicolons that should be interpreted as 569arguments should be escaped twice: once according to the shell conventions and 570a second time for 571.Nm ; 572for example: 573.Bd -literal -offset indent 574$ tmux neww 'foo\e\e;' bar 575$ tmux neww foo\e\e\e\e; bar 576.Ed 577.It 578Semicolons that are not individual tokens or trailing another token should only 579be escaped once according to shell conventions; for example: 580.Bd -literal -offset indent 581$ tmux neww 'foo-;-bar' 582$ tmux neww foo-\e\e;-bar 583.Ed 584.El 585.Pp 586Comments are marked by the unquoted # character - any remaining text after a 587comment is ignored until the end of the line. 588.Pp 589If the last character of a line is \e, the line is joined with the following 590line (the \e and the newline are completely removed). 591This is called line continuation and applies both inside and outside quoted 592strings and in comments, but not inside braces. 593.Pp 594Command arguments may be specified as strings surrounded by single (') quotes, 595double quotes (") or braces ({}). 596.\" " 597This is required when the argument contains any special character. 598Single and double quoted strings cannot span multiple lines except with line 599continuation. 600Braces can span multiple lines. 601.Pp 602Outside of quotes and inside double quotes, these replacements are performed: 603.Bl -dash -offset indent 604.It 605Environment variables preceded by $ are replaced with their value from the 606global environment (see the 607.Sx GLOBAL AND SESSION ENVIRONMENT 608section). 609.It 610A leading ~ or ~user is expanded to the home directory of the current or 611specified user. 612.It 613\euXXXX or \euXXXXXXXX is replaced by the Unicode codepoint corresponding to 614the given four or eight digit hexadecimal number. 615.It 616When preceded (escaped) by a \e, the following characters are replaced: \ee by 617the escape character; \er by a carriage return; \en by a newline; and \et by a 618tab. 619.It 620\eooo is replaced by a character of the octal value ooo. 621Three octal digits are required, for example \e001. 622The largest valid character is \e377. 623.It 624Any other characters preceded by \e are replaced by themselves (that is, the \e 625is removed) and are not treated as having any special meaning - so for example 626\e; will not mark a command sequence and \e$ will not expand an environment 627variable. 628.El 629.Pp 630Braces are parsed as a configuration file (so conditions such as 631.Ql %if 632are processed) and then converted into a string. 633They are designed to avoid the need for additional escaping when passing a 634group of 635.Nm 636commands as an argument (for example to 637.Ic if-shell ) . 638These two examples produce an identical command - note that no escaping is 639needed when using {}: 640.Bd -literal -offset indent 641if-shell true { 642 display -p 'brace-dollar-foo: }$foo' 643} 644 645if-shell true "display -p 'brace-dollar-foo: }\e$foo'" 646.Ed 647.Pp 648Braces may be enclosed inside braces, for example: 649.Bd -literal -offset indent 650bind x if-shell "true" { 651 if-shell "true" { 652 display "true!" 653 } 654} 655.Ed 656.Pp 657Environment variables may be set by using the syntax 658.Ql name=value , 659for example 660.Ql HOME=/home/user . 661Variables set during parsing are added to the global environment. 662A hidden variable may be set with 663.Ql %hidden , 664for example: 665.Bd -literal -offset indent 666%hidden MYVAR=42 667.Ed 668.Pp 669Hidden variables are not passed to the environment of processes created 670by tmux. 671See the 672.Sx GLOBAL AND SESSION ENVIRONMENT 673section. 674.Pp 675Commands may be parsed conditionally by surrounding them with 676.Ql %if , 677.Ql %elif , 678.Ql %else 679and 680.Ql %endif . 681The argument to 682.Ql %if 683and 684.Ql %elif 685is expanded as a format (see 686.Sx FORMATS ) 687and if it evaluates to false (zero or empty), subsequent text is ignored until 688the closing 689.Ql %elif , 690.Ql %else 691or 692.Ql %endif . 693For example: 694.Bd -literal -offset indent 695%if "#{==:#{host},myhost}" 696set -g status-style bg=red 697%elif "#{==:#{host},myotherhost}" 698set -g status-style bg=green 699%else 700set -g status-style bg=blue 701%endif 702.Ed 703.Pp 704Will change the status line to red if running on 705.Ql myhost , 706green if running on 707.Ql myotherhost , 708or blue if running on another host. 709Conditionals may be given on one line, for example: 710.Bd -literal -offset indent 711%if #{==:#{host},myhost} set -g status-style bg=red %endif 712.Ed 713.Sh COMMANDS 714This section describes the commands supported by 715.Nm . 716Most commands accept the optional 717.Fl t 718(and sometimes 719.Fl s ) 720argument with one of 721.Ar target-client , 722.Ar target-session , 723.Ar target-window , 724or 725.Ar target-pane . 726These specify the client, session, window or pane which a command should affect. 727.Pp 728.Ar target-client 729should be the name of the client, 730typically the 731.Xr pty 4 732file to which the client is connected, for example either of 733.Pa /dev/ttyp1 734or 735.Pa ttyp1 736for the client attached to 737.Pa /dev/ttyp1 . 738If no client is specified, 739.Nm 740attempts to work out the client currently in use; if that fails, an error is 741reported. 742Clients may be listed with the 743.Ic list-clients 744command. 745.Pp 746.Ar target-session 747is tried as, in order: 748.Bl -enum -offset Ds 749.It 750A session ID prefixed with a $. 751.It 752An exact name of a session (as listed by the 753.Ic list-sessions 754command). 755.It 756The start of a session name, for example 757.Ql mysess 758would match a session named 759.Ql mysession . 760.It 761An 762.Xr fnmatch 3 763pattern which is matched against the session name. 764.El 765.Pp 766If the session name is prefixed with an 767.Ql = , 768only an exact match is accepted (so 769.Ql =mysess 770will only match exactly 771.Ql mysess , 772not 773.Ql mysession ) . 774.Pp 775If a single session is found, it is used as the target session; multiple matches 776produce an error. 777If a session is omitted, the current session is used if available; if no 778current session is available, the most recently used is chosen. 779.Pp 780.Ar target-window 781(or 782.Ar src-window 783or 784.Ar dst-window ) 785specifies a window in the form 786.Em session Ns \&: Ns Em window . 787.Em session 788follows the same rules as for 789.Ar target-session , 790and 791.Em window 792is looked for in order as: 793.Bl -enum -offset Ds 794.It 795A special token, listed below. 796.It 797A window index, for example 798.Ql mysession:1 799is window 1 in session 800.Ql mysession . 801.It 802A window ID, such as @1. 803.It 804An exact window name, such as 805.Ql mysession:mywindow . 806.It 807The start of a window name, such as 808.Ql mysession:mywin . 809.It 810As an 811.Xr fnmatch 3 812pattern matched against the window name. 813.El 814.Pp 815Like sessions, a 816.Ql = 817prefix will do an exact match only. 818An empty window name specifies the next unused index if appropriate (for 819example the 820.Ic new-window 821and 822.Ic link-window 823commands) 824otherwise the current window in 825.Em session 826is chosen. 827.Pp 828The following special tokens are available to indicate particular windows. 829Each has a single-character alternative form. 830.Bl -column "XXXXXXXXXX" "X" 831.It Sy "Token" Ta Sy "" Ta Sy "Meaning" 832.It Li "{start}" Ta "^" Ta "The lowest-numbered window" 833.It Li "{end}" Ta "$" Ta "The highest-numbered window" 834.It Li "{last}" Ta "!" Ta "The last (previously current) window" 835.It Li "{next}" Ta "+" Ta "The next window by number" 836.It Li "{previous}" Ta "-" Ta "The previous window by number" 837.El 838.Pp 839.Ar target-pane 840(or 841.Ar src-pane 842or 843.Ar dst-pane ) 844may be a pane ID or takes a similar form to 845.Ar target-window 846but with the optional addition of a period followed by a pane index or pane ID, 847for example: 848.Ql mysession:mywindow.1 . 849If the pane index is omitted, the currently active pane in the specified 850window is used. 851The following special tokens are available for the pane index: 852.Bl -column "XXXXXXXXXXXXXX" "X" 853.It Sy "Token" Ta Sy "" Ta Sy "Meaning" 854.It Li "{last}" Ta "!" Ta "The last (previously active) pane" 855.It Li "{next}" Ta "+" Ta "The next pane by number" 856.It Li "{previous}" Ta "-" Ta "The previous pane by number" 857.It Li "{top}" Ta "" Ta "The top pane" 858.It Li "{bottom}" Ta "" Ta "The bottom pane" 859.It Li "{left}" Ta "" Ta "The leftmost pane" 860.It Li "{right}" Ta "" Ta "The rightmost pane" 861.It Li "{top-left}" Ta "" Ta "The top-left pane" 862.It Li "{top-right}" Ta "" Ta "The top-right pane" 863.It Li "{bottom-left}" Ta "" Ta "The bottom-left pane" 864.It Li "{bottom-right}" Ta "" Ta "The bottom-right pane" 865.It Li "{up-of}" Ta "" Ta "The pane above the active pane" 866.It Li "{down-of}" Ta "" Ta "The pane below the active pane" 867.It Li "{left-of}" Ta "" Ta "The pane to the left of the active pane" 868.It Li "{right-of}" Ta "" Ta "The pane to the right of the active pane" 869.El 870.Pp 871The tokens 872.Ql + 873and 874.Ql - 875may be followed by an offset, for example: 876.Bd -literal -offset indent 877select-window -t:+2 878.Ed 879.Pp 880In addition, 881.Em target-session , 882.Em target-window 883or 884.Em target-pane 885may consist entirely of the token 886.Ql {mouse} 887(alternative form 888.Ql = ) 889to specify the session, window or pane where the most recent mouse event occurred 890(see the 891.Sx MOUSE SUPPORT 892section) 893or 894.Ql {marked} 895(alternative form 896.Ql ~ ) 897to specify the marked pane (see 898.Ic select-pane 899.Fl m ) . 900.Pp 901Sessions, window and panes are each numbered with a unique ID; session IDs are 902prefixed with a 903.Ql $ , 904windows with a 905.Ql @ , 906and panes with a 907.Ql % . 908These are unique and are unchanged for the life of the session, window or pane 909in the 910.Nm 911server. 912The pane ID is passed to the child process of the pane in the 913.Ev TMUX_PANE 914environment variable. 915IDs may be displayed using the 916.Ql session_id , 917.Ql window_id , 918or 919.Ql pane_id 920formats (see the 921.Sx FORMATS 922section) and the 923.Ic display-message , 924.Ic list-sessions , 925.Ic list-windows 926or 927.Ic list-panes 928commands. 929.Pp 930.Ar shell-command 931arguments are 932.Xr sh 1 933commands. 934This may be a single argument passed to the shell, for example: 935.Bd -literal -offset indent 936new-window 'vi ~/.tmux.conf' 937.Ed 938.Pp 939Will run: 940.Bd -literal -offset indent 941/bin/sh -c 'vi ~/.tmux.conf' 942.Ed 943.Pp 944Additionally, the 945.Ic new-window , 946.Ic new-session , 947.Ic split-window , 948.Ic respawn-window 949and 950.Ic respawn-pane 951commands allow 952.Ar shell-command 953to be given as multiple arguments and executed directly (without 954.Ql sh -c ) . 955This can avoid issues with shell quoting. 956For example: 957.Bd -literal -offset indent 958$ tmux new-window vi ~/.tmux.conf 959.Ed 960.Pp 961Will run 962.Xr vi 1 963directly without invoking the shell. 964.Pp 965.Ar command 966.Op Ar arguments 967refers to a 968.Nm 969command, either passed with the command and arguments separately, for example: 970.Bd -literal -offset indent 971bind-key F1 set-option status off 972.Ed 973.Pp 974Or passed as a single string argument in 975.Pa .tmux.conf , 976for example: 977.Bd -literal -offset indent 978bind-key F1 { set-option status off } 979.Ed 980.Pp 981Example 982.Nm 983commands include: 984.Bd -literal -offset indent 985refresh-client -t/dev/ttyp2 986 987rename-session -tfirst newname 988 989set-option -wt:0 monitor-activity on 990 991new-window ; split-window -d 992 993bind-key R source-file ~/.tmux.conf \e; \e 994 display-message "source-file done" 995.Ed 996.Pp 997Or from 998.Xr sh 1 : 999.Bd -literal -offset indent 1000$ tmux kill-window -t :1 1001 1002$ tmux new-window \e; split-window -d 1003 1004$ tmux new-session -d 'vi ~/.tmux.conf' \e; split-window -d \e; attach 1005.Ed 1006.Sh CLIENTS AND SESSIONS 1007The 1008.Nm 1009server manages clients, sessions, windows and panes. 1010Clients are attached to sessions to interact with them, either 1011when they are created with the 1012.Ic new-session 1013command, or later with the 1014.Ic attach-session 1015command. 1016Each session has one or more windows 1017.Em linked 1018into it. 1019Windows may be linked to multiple sessions and are made up of one or 1020more panes, 1021each of which contains a pseudo terminal. 1022Commands for creating, linking and otherwise manipulating windows 1023are covered 1024in the 1025.Sx WINDOWS AND PANES 1026section. 1027.Pp 1028The following commands are available to manage clients and sessions: 1029.Bl -tag -width Ds 1030.Tg attach 1031.It Xo Ic attach-session 1032.Op Fl dErx 1033.Op Fl c Ar working-directory 1034.Op Fl f Ar flags 1035.Op Fl t Ar target-session 1036.Xc 1037.D1 Pq alias: Ic attach 1038If run from outside 1039.Nm , 1040create a new client in the current terminal and attach it to 1041.Ar target-session . 1042If used from inside, switch the current client. 1043If 1044.Fl d 1045is specified, any other clients attached to the session are detached. 1046If 1047.Fl x 1048is given, send 1049.Dv SIGHUP 1050to the parent process of the client as well as 1051detaching the client, typically causing it to exit. 1052.Fl f 1053sets a comma-separated list of client flags. 1054The flags are: 1055.Bl -tag -width Ds 1056.It active-pane 1057the client has an independent active pane 1058.It ignore-size 1059the client does not affect the size of other clients 1060.It no-output 1061the client does not receive pane output in control mode 1062.It pause-after=seconds 1063output is paused once the pane is 1064.Ar seconds 1065behind in control mode 1066.It read-only 1067the client is read-only 1068.It wait-exit 1069wait for an empty line input before exiting in control mode 1070.El 1071.Pp 1072A leading 1073.Ql \&! 1074turns a flag off if the client is already attached. 1075.Fl r 1076is an alias for 1077.Fl f 1078.Ar read-only,ignore-size . 1079When a client is read-only, only keys bound to the 1080.Ic detach-client 1081or 1082.Ic switch-client 1083commands have any effect. 1084A client with the 1085.Ar active-pane 1086flag allows the active pane to be selected independently of the window's active 1087pane used by clients without the flag. 1088This only affects the cursor position and commands issued from the client; 1089other features such as hooks and styles continue to use the window's active 1090pane. 1091.Pp 1092If no server is started, 1093.Ic attach-session 1094will attempt to start it; this will fail unless sessions are created in the 1095configuration file. 1096.Pp 1097The 1098.Ar target-session 1099rules for 1100.Ic attach-session 1101are slightly adjusted: if 1102.Nm 1103needs to select the most recently used session, it will prefer the most 1104recently used 1105.Em unattached 1106session. 1107.Pp 1108.Fl c 1109will set the session working directory (used for new windows) to 1110.Ar working-directory . 1111.Pp 1112If 1113.Fl E 1114is used, the 1115.Ic update-environment 1116option will not be applied. 1117.Tg detach 1118.It Xo Ic detach-client 1119.Op Fl aP 1120.Op Fl E Ar shell-command 1121.Op Fl s Ar target-session 1122.Op Fl t Ar target-client 1123.Xc 1124.D1 Pq alias: Ic detach 1125Detach the current client if bound to a key, the client specified with 1126.Fl t , 1127or all clients currently attached to the session specified by 1128.Fl s . 1129The 1130.Fl a 1131option kills all but the client given with 1132.Fl t . 1133If 1134.Fl P 1135is given, send 1136.Dv SIGHUP 1137to the parent process of the client, typically causing it 1138to exit. 1139With 1140.Fl E , 1141run 1142.Ar shell-command 1143to replace the client. 1144.Tg has 1145.It Ic has-session Op Fl t Ar target-session 1146.D1 Pq alias: Ic has 1147Report an error and exit with 1 if the specified session does not exist. 1148If it does exist, exit with 0. 1149.It Ic kill-server 1150Kill the 1151.Nm 1152server and clients and destroy all sessions. 1153.It Xo Ic kill-session 1154.Op Fl aC 1155.Op Fl t Ar target-session 1156.Xc 1157Destroy the given session, closing any windows linked to it and no other 1158sessions, and detaching all clients attached to it. 1159If 1160.Fl a 1161is given, all sessions but the specified one is killed. 1162The 1163.Fl C 1164flag clears alerts (bell, activity, or silence) in all windows linked to the 1165session. 1166.Tg lsc 1167.It Xo Ic list-clients 1168.Op Fl F Ar format 1169.Op Fl t Ar target-session 1170.Xc 1171.D1 Pq alias: Ic lsc 1172List all clients attached to the server. 1173For the meaning of the 1174.Fl F 1175flag, see the 1176.Sx FORMATS 1177section. 1178If 1179.Ar target-session 1180is specified, list only clients connected to that session. 1181.Tg lscm 1182.It Xo Ic list-commands 1183.Op Fl F Ar format 1184.Op Ar command 1185.Xc 1186.D1 Pq alias: Ic lscm 1187List the syntax of 1188.Ar command 1189or - if omitted - of all commands supported by 1190.Nm . 1191.Tg ls 1192.It Xo Ic list-sessions 1193.Op Fl F Ar format 1194.Op Fl f Ar filter 1195.Xc 1196.D1 Pq alias: Ic ls 1197List all sessions managed by the server. 1198.Fl F 1199specifies the format of each line and 1200.Fl f 1201a filter. 1202Only sessions for which the filter is true are shown. 1203See the 1204.Sx FORMATS 1205section. 1206.Tg lockc 1207.It Ic lock-client Op Fl t Ar target-client 1208.D1 Pq alias: Ic lockc 1209Lock 1210.Ar target-client , 1211see the 1212.Ic lock-server 1213command. 1214.Tg locks 1215.It Ic lock-session Op Fl t Ar target-session 1216.D1 Pq alias: Ic locks 1217Lock all clients attached to 1218.Ar target-session . 1219.Tg new 1220.It Xo Ic new-session 1221.Op Fl AdDEPX 1222.Op Fl c Ar start-directory 1223.Op Fl e Ar environment 1224.Op Fl f Ar flags 1225.Op Fl F Ar format 1226.Op Fl n Ar window-name 1227.Op Fl s Ar session-name 1228.Op Fl t Ar group-name 1229.Op Fl x Ar width 1230.Op Fl y Ar height 1231.Op Ar shell-command 1232.Xc 1233.D1 Pq alias: Ic new 1234Create a new session with name 1235.Ar session-name . 1236.Pp 1237The new session is attached to the current terminal unless 1238.Fl d 1239is given. 1240.Ar window-name 1241and 1242.Ar shell-command 1243are the name of and shell command to execute in the initial window. 1244With 1245.Fl d , 1246the initial size comes from the global 1247.Ic default-size 1248option; 1249.Fl x 1250and 1251.Fl y 1252can be used to specify a different size. 1253.Ql - 1254uses the size of the current client if any. 1255If 1256.Fl x 1257or 1258.Fl y 1259is given, the 1260.Ic default-size 1261option is set for the session. 1262.Fl f 1263sets a comma-separated list of client flags (see 1264.Ic attach-session ) . 1265.Pp 1266If run from a terminal, any 1267.Xr termios 4 1268special characters are saved and used for new windows in the new session. 1269.Pp 1270The 1271.Fl A 1272flag makes 1273.Ic new-session 1274behave like 1275.Ic attach-session 1276if 1277.Ar session-name 1278already exists; in this case, 1279.Fl D 1280behaves like 1281.Fl d 1282to 1283.Ic attach-session , 1284and 1285.Fl X 1286behaves like 1287.Fl x 1288to 1289.Ic attach-session . 1290.Pp 1291If 1292.Fl t 1293is given, it specifies a 1294.Ic session group . 1295Sessions in the same group share the same set of windows - new windows are 1296linked to all sessions in the group and any windows closed removed from all 1297sessions. 1298The current and previous window and any session options remain independent and 1299any session in a group may be killed without affecting the others. 1300The 1301.Ar group-name 1302argument may be: 1303.Bl -enum -width Ds 1304.It 1305the name of an existing group, in which case the new session is added to that 1306group; 1307.It 1308the name of an existing session - the new session is added to the same group 1309as that session, creating a new group if necessary; 1310.It 1311the name for a new group containing only the new session. 1312.El 1313.Pp 1314.Fl n 1315and 1316.Ar shell-command 1317are invalid if 1318.Fl t 1319is used. 1320.Pp 1321The 1322.Fl P 1323option prints information about the new session after it has been created. 1324By default, it uses the format 1325.Ql #{session_name}:\& 1326but a different format may be specified with 1327.Fl F . 1328.Pp 1329If 1330.Fl E 1331is used, the 1332.Ic update-environment 1333option will not be applied. 1334.Fl e 1335takes the form 1336.Ql VARIABLE=value 1337and sets an environment variable for the newly created session; it may be 1338specified multiple times. 1339.Tg refresh 1340.It Xo Ic refresh-client 1341.Op Fl cDLRSU 1342.Op Fl A Ar pane:state 1343.Op Fl B Ar name:what:format 1344.Op Fl C Ar size 1345.Op Fl f Ar flags 1346.Op Fl l Op Ar target-pane 1347.Op Fl t Ar target-client 1348.Op Ar adjustment 1349.Xc 1350.D1 Pq alias: Ic refresh 1351Refresh the current client if bound to a key, or a single client if one is given 1352with 1353.Fl t . 1354If 1355.Fl S 1356is specified, only update the client's status line. 1357.Pp 1358The 1359.Fl U , 1360.Fl D , 1361.Fl L 1362.Fl R , 1363and 1364.Fl c 1365flags allow the visible portion of a window which is larger than the client 1366to be changed. 1367.Fl U 1368moves the visible part up by 1369.Ar adjustment 1370rows and 1371.Fl D 1372down, 1373.Fl L 1374left by 1375.Ar adjustment 1376columns and 1377.Fl R 1378right. 1379.Fl c 1380returns to tracking the cursor automatically. 1381If 1382.Ar adjustment 1383is omitted, 1 is used. 1384Note that the visible position is a property of the client not of the 1385window, changing the current window in the attached session will reset 1386it. 1387.Pp 1388.Fl C 1389sets the width and height of a control mode client or of a window for a 1390control mode client, 1391.Ar size 1392must be one of 1393.Ql widthxheight 1394or 1395.Ql window ID:widthxheight , 1396for example 1397.Ql 80x24 1398or 1399.Ql @0:80x24 . 1400.Fl A 1401allows a control mode client to trigger actions on a pane. 1402The argument is a pane ID (with leading 1403.Ql % ) , 1404a colon, then one of 1405.Ql on , 1406.Ql off , 1407.Ql continue 1408or 1409.Ql pause . 1410If 1411.Ql off , 1412.Nm 1413will not send output from the pane to the client and if all clients have turned 1414the pane off, will stop reading from the pane. 1415If 1416.Ql continue , 1417.Nm 1418will return to sending output to the pane if it was paused (manually or with the 1419.Ar pause-after 1420flag). 1421If 1422.Ql pause , 1423.Nm 1424will pause the pane. 1425.Fl A 1426may be given multiple times for different panes. 1427.Pp 1428.Fl B 1429sets a subscription to a format for a control mode client. 1430The argument is split into three items by colons: 1431.Ar name 1432is a name for the subscription; 1433.Ar what 1434is a type of item to subscribe to; 1435.Ar format 1436is the format. 1437After a subscription is added, changes to the format are reported with the 1438.Ic %subscription-changed 1439notification, at most once a second. 1440If only the name is given, the subscription is removed. 1441.Ar what 1442may be empty to check the format only for the attached session, or one of: 1443a pane ID such as 1444.Ql %0 ; 1445.Ql %* 1446for all panes in the attached session; 1447a window ID such as 1448.Ql @0 ; 1449or 1450.Ql @* 1451for all windows in the attached session. 1452.Pp 1453.Fl f 1454sets a comma-separated list of client flags, see 1455.Ic attach-session . 1456.Pp 1457.Fl l 1458requests the clipboard from the client using the 1459.Xr xterm 1 1460escape sequence. 1461If 1462Ar target-pane 1463is given, the clipboard is sent (in encoded form), otherwise it is stored in a 1464new paste buffer. 1465.Pp 1466.Fl L , 1467.Fl R , 1468.Fl U 1469and 1470.Fl D 1471move the visible portion of the window left, right, up or down 1472by 1473.Ar adjustment , 1474if the window is larger than the client. 1475.Fl c 1476resets so that the position follows the cursor. 1477See the 1478.Ic window-size 1479option. 1480.Tg rename 1481.It Xo Ic rename-session 1482.Op Fl t Ar target-session 1483.Ar new-name 1484.Xc 1485.D1 Pq alias: Ic rename 1486Rename the session to 1487.Ar new-name . 1488.Tg showmsgs 1489.It Xo Ic show-messages 1490.Op Fl JT 1491.Op Fl t Ar target-client 1492.Xc 1493.D1 Pq alias: Ic showmsgs 1494Show server messages or information. 1495Messages are stored, up to a maximum of the limit set by the 1496.Ar message-limit 1497server option. 1498.Fl J 1499and 1500.Fl T 1501show debugging information about jobs and terminals. 1502.Tg source 1503.It Xo Ic source-file 1504.Op Fl Fnqv 1505.Ar path 1506.Ar ... 1507.Xc 1508.D1 Pq alias: Ic source 1509Execute commands from one or more files specified by 1510.Ar path 1511(which may be 1512.Xr glob 7 1513patterns). 1514If 1515.Fl F 1516is present, then 1517.Ar path 1518is expanded as a format. 1519If 1520.Fl q 1521is given, no error will be returned if 1522.Ar path 1523does not exist. 1524With 1525.Fl n , 1526the file is parsed but no commands are executed. 1527.Fl v 1528shows the parsed commands and line numbers if possible. 1529.Tg start 1530.It Ic start-server 1531.D1 Pq alias: Ic start 1532Start the 1533.Nm 1534server, if not already running, without creating any sessions. 1535.Pp 1536Note that as by default the 1537.Nm 1538server will exit with no sessions, this is only useful if a session is created in 1539.Pa ~/.tmux.conf , 1540.Ic exit-empty 1541is turned off, or another command is run as part of the same command sequence. 1542For example: 1543.Bd -literal -offset indent 1544$ tmux start \\; show -g 1545.Ed 1546.Tg suspendc 1547.It Xo Ic suspend-client 1548.Op Fl t Ar target-client 1549.Xc 1550.D1 Pq alias: Ic suspendc 1551Suspend a client by sending 1552.Dv SIGTSTP 1553(tty stop). 1554.Tg switchc 1555.It Xo Ic switch-client 1556.Op Fl ElnprZ 1557.Op Fl c Ar target-client 1558.Op Fl t Ar target-session 1559.Op Fl T Ar key-table 1560.Xc 1561.D1 Pq alias: Ic switchc 1562Switch the current session for client 1563.Ar target-client 1564to 1565.Ar target-session . 1566As a special case, 1567.Fl t 1568may refer to a pane (a target that contains 1569.Ql \&: , 1570.Ql \&. 1571or 1572.Ql % ) , 1573to change session, window and pane. 1574In that case, 1575.Fl Z 1576keeps the window zoomed if it was zoomed. 1577If 1578.Fl l , 1579.Fl n 1580or 1581.Fl p 1582is used, the client is moved to the last, next or previous session 1583respectively. 1584.Fl r 1585toggles the client 1586.Ic read-only 1587and 1588.Ic ignore-size 1589flags (see the 1590.Ic attach-session 1591command). 1592.Pp 1593If 1594.Fl E 1595is used, 1596.Ic update-environment 1597option will not be applied. 1598.Pp 1599.Fl T 1600sets the client's key table; the next key from the client will be interpreted 1601from 1602.Ar key-table . 1603This may be used to configure multiple prefix keys, or to bind commands to 1604sequences of keys. 1605For example, to make typing 1606.Ql abc 1607run the 1608.Ic list-keys 1609command: 1610.Bd -literal -offset indent 1611bind-key -Ttable2 c list-keys 1612bind-key -Ttable1 b switch-client -Ttable2 1613bind-key -Troot a switch-client -Ttable1 1614.Ed 1615.El 1616.Sh WINDOWS AND PANES 1617Each window displayed by 1618.Nm 1619may be split into one or more 1620.Em panes ; 1621each pane takes up a certain area of the display and is a separate terminal. 1622A window may be split into panes using the 1623.Ic split-window 1624command. 1625Windows may be split horizontally (with the 1626.Fl h 1627flag) or vertically. 1628Panes may be resized with the 1629.Ic resize-pane 1630command (bound to 1631.Ql C-Up , 1632.Ql C-Down 1633.Ql C-Left 1634and 1635.Ql C-Right 1636by default), the current pane may be changed with the 1637.Ic select-pane 1638command and the 1639.Ic rotate-window 1640and 1641.Ic swap-pane 1642commands may be used to swap panes without changing their position. 1643Panes are numbered beginning from zero in the order they are created. 1644.Pp 1645By default, a 1646.Nm 1647pane permits direct access to the terminal contained in the pane. 1648A pane may also be put into one of several modes: 1649.Bl -dash -offset indent 1650.It 1651Copy mode, which permits a section of a window or its 1652history to be copied to a 1653.Em paste buffer 1654for later insertion into another window. 1655This mode is entered with the 1656.Ic copy-mode 1657command, bound to 1658.Ql \&[ 1659by default. 1660Copied text can be pasted with the 1661.Ic paste-buffer 1662command, bound to 1663.Ql \&] . 1664.It 1665View mode, which is like copy mode but is entered when a command that produces 1666output, such as 1667.Ic list-keys , 1668is executed from a key binding. 1669.It 1670Choose mode, which allows an item to be chosen from a list. 1671This may be a client, a session or window or pane, or a buffer. 1672This mode is entered with the 1673.Ic choose-buffer , 1674.Ic choose-client 1675and 1676.Ic choose-tree 1677commands. 1678.El 1679.Pp 1680In copy mode an indicator is displayed in the top-right corner of the pane with 1681the current position and the number of lines in the history. 1682.Pp 1683Commands are sent to copy mode using the 1684.Fl X 1685flag to the 1686.Ic send-keys 1687command. 1688When a key is pressed, copy mode automatically uses one of two key tables, 1689depending on the 1690.Ic mode-keys 1691option: 1692.Ic copy-mode 1693for emacs, or 1694.Ic copy-mode-vi 1695for vi. 1696Key tables may be viewed with the 1697.Ic list-keys 1698command. 1699.Pp 1700The following commands are supported in copy mode: 1701.Bl -column "CommandXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" "viXXXXXXXXXX" "emacs" -offset indent 1702.It Sy "Command" Ta Sy "vi" Ta Sy "emacs" 1703.It Li "append-selection" Ta "" Ta "" 1704.It Li "append-selection-and-cancel" Ta "A" Ta "" 1705.It Li "back-to-indentation" Ta "^" Ta "M-m" 1706.It Li "begin-selection" Ta "Space" Ta "C-Space" 1707.It Li "bottom-line" Ta "L" Ta "" 1708.It Li "cancel" Ta "q" Ta "Escape" 1709.It Li "clear-selection" Ta "Escape" Ta "C-g" 1710.It Li "copy-end-of-line [<prefix>]" Ta "" Ta "" 1711.It Li "copy-end-of-line-and-cancel [<prefix>]" Ta "" Ta "" 1712.It Li "copy-pipe-end-of-line [<command>] [<prefix>]" Ta "" Ta "" 1713.It Li "copy-pipe-end-of-line-and-cancel [<command>] [<prefix>]" Ta "D" Ta "C-k" 1714.It Li "copy-line [<prefix>]" Ta "" Ta "" 1715.It Li "copy-line-and-cancel [<prefix>]" Ta "" Ta "" 1716.It Li "copy-pipe-line [<command>] [<prefix>]" Ta "" Ta "" 1717.It Li "copy-pipe-line-and-cancel [<command>] [<prefix>]" Ta "" Ta "" 1718.It Li "copy-pipe [<command>] [<prefix>]" Ta "" Ta "" 1719.It Li "copy-pipe-no-clear [<command>] [<prefix>]" Ta "" Ta "" 1720.It Li "copy-pipe-and-cancel [<command>] [<prefix>]" Ta "" Ta "" 1721.It Li "copy-selection [<prefix>]" Ta "" Ta "" 1722.It Li "copy-selection-no-clear [<prefix>]" Ta "" Ta "" 1723.It Li "copy-selection-and-cancel [<prefix>]" Ta "Enter" Ta "M-w" 1724.It Li "cursor-down" Ta "j" Ta "Down" 1725.It Li "cursor-down-and-cancel" Ta "" Ta "" 1726.It Li "cursor-left" Ta "h" Ta "Left" 1727.It Li "cursor-right" Ta "l" Ta "Right" 1728.It Li "cursor-up" Ta "k" Ta "Up" 1729.It Li "end-of-line" Ta "$" Ta "C-e" 1730.It Li "goto-line <line>" Ta ":" Ta "g" 1731.It Li "halfpage-down" Ta "C-d" Ta "M-Down" 1732.It Li "halfpage-down-and-cancel" Ta "" Ta "" 1733.It Li "halfpage-up" Ta "C-u" Ta "M-Up" 1734.It Li "history-bottom" Ta "G" Ta "M->" 1735.It Li "history-top" Ta "g" Ta "M-<" 1736.It Li "jump-again" Ta ";" Ta ";" 1737.It Li "jump-backward <to>" Ta "F" Ta "F" 1738.It Li "jump-forward <to>" Ta "f" Ta "f" 1739.It Li "jump-reverse" Ta "," Ta "," 1740.It Li "jump-to-backward <to>" Ta "T" Ta "" 1741.It Li "jump-to-forward <to>" Ta "t" Ta "" 1742.It Li "jump-to-mark" Ta "M-x" Ta "M-x" 1743.It Li "middle-line" Ta "M" Ta "M-r" 1744.It Li "next-matching-bracket" Ta "%" Ta "M-C-f" 1745.It Li "next-paragraph" Ta "}" Ta "M-}" 1746.It Li "next-space" Ta "W" Ta "" 1747.It Li "next-space-end" Ta "E" Ta "" 1748.It Li "next-word" Ta "w" Ta "" 1749.It Li "next-word-end" Ta "e" Ta "M-f" 1750.It Li "other-end" Ta "o" Ta "" 1751.It Li "page-down" Ta "C-f" Ta "PageDown" 1752.It Li "page-down-and-cancel" Ta "" Ta "" 1753.It Li "page-up" Ta "C-b" Ta "PageUp" 1754.It Li "pipe [<command>] [<prefix>]" Ta "" Ta "" 1755.It Li "pipe-no-clear [<command>] [<prefix>]" Ta "" Ta "" 1756.It Li "pipe-and-cancel [<command>] [<prefix>]" Ta "" Ta "" 1757.It Li "previous-matching-bracket" Ta "" Ta "M-C-b" 1758.It Li "previous-paragraph" Ta "{" Ta "M-{" 1759.It Li "previous-space" Ta "B" Ta "" 1760.It Li "previous-word" Ta "b" Ta "M-b" 1761.It Li "rectangle-on" Ta "" Ta "" 1762.It Li "rectangle-off" Ta "" Ta "" 1763.It Li "rectangle-toggle" Ta "v" Ta "R" 1764.It Li "refresh-from-pane" Ta "r" Ta "r" 1765.It Li "scroll-down" Ta "C-e" Ta "C-Down" 1766.It Li "scroll-down-and-cancel" Ta "" Ta "" 1767.It Li "scroll-up" Ta "C-y" Ta "C-Up" 1768.It Li "search-again" Ta "n" Ta "n" 1769.It Li "search-backward <for>" Ta "?" Ta "" 1770.It Li "search-backward-incremental <for>" Ta "" Ta "C-r" 1771.It Li "search-backward-text <for>" Ta "" Ta "" 1772.It Li "search-forward <for>" Ta "/" Ta "" 1773.It Li "search-forward-incremental <for>" Ta "" Ta "C-s" 1774.It Li "search-forward-text <for>" Ta "" Ta "" 1775.It Li "search-reverse" Ta "N" Ta "N" 1776.It Li "select-line" Ta "V" Ta "" 1777.It Li "select-word" Ta "" Ta "" 1778.It Li "set-mark" Ta "X" Ta "X" 1779.It Li "start-of-line" Ta "0" Ta "C-a" 1780.It Li "stop-selection" Ta "" Ta "" 1781.It Li "toggle-position" Ta "P" Ta "P" 1782.It Li "top-line" Ta "H" Ta "M-R" 1783.El 1784.Pp 1785The search commands come in several varieties: 1786.Ql search-forward 1787and 1788.Ql search-backward 1789search for a regular expression; 1790the 1791.Ql -text 1792variants search for a plain text string rather than a regular expression; 1793.Ql -incremental 1794perform an incremental search and expect to be used with the 1795.Fl i 1796flag to the 1797.Ic command-prompt 1798command. 1799.Ql search-again 1800repeats the last search and 1801.Ql search-reverse 1802does the same but reverses the direction (forward becomes backward and backward 1803becomes forward). 1804.Pp 1805Copy commands may take an optional buffer prefix argument which is used 1806to generate the buffer name (the default is 1807.Ql buffer 1808so buffers are named 1809.Ql buffer0 , 1810.Ql buffer1 1811and so on). 1812Pipe commands take a command argument which is the command to which the 1813selected text is piped. 1814.Ql copy-pipe 1815variants also copy the selection. 1816The 1817.Ql -and-cancel 1818variants of some commands exit copy mode after they have completed (for copy 1819commands) or when the cursor reaches the bottom (for scrolling commands). 1820.Ql -no-clear 1821variants do not clear the selection. 1822.Pp 1823The next and previous word keys skip over whitespace and treat consecutive 1824runs of either word separators or other letters as words. 1825Word separators can be customized with the 1826.Em word-separators 1827session option. 1828Next word moves to the start of the next word, next word end to the end of the 1829next word and previous word to the start of the previous word. 1830The three next and previous space keys work similarly but use a space alone as 1831the word separator. 1832Setting 1833.Em word-separators 1834to the empty string makes next/previous word equivalent to next/previous space. 1835.Pp 1836The jump commands enable quick movement within a line. 1837For instance, typing 1838.Ql f 1839followed by 1840.Ql / 1841will move the cursor to the next 1842.Ql / 1843character on the current line. 1844A 1845.Ql \&; 1846will then jump to the next occurrence. 1847.Pp 1848Commands in copy mode may be prefaced by an optional repeat count. 1849With vi key bindings, a prefix is entered using the number keys; with 1850emacs, the Alt (meta) key and a number begins prefix entry. 1851.Pp 1852The synopsis for the 1853.Ic copy-mode 1854command is: 1855.Bl -tag -width Ds 1856.It Xo Ic copy-mode 1857.Op Fl eHMqu 1858.Op Fl s Ar src-pane 1859.Op Fl t Ar target-pane 1860.Xc 1861Enter copy mode. 1862The 1863.Fl u 1864option scrolls one page up. 1865.Fl M 1866begins a mouse drag (only valid if bound to a mouse key binding, see 1867.Sx MOUSE SUPPORT ) . 1868.Fl H 1869hides the position indicator in the top right. 1870.Fl q 1871cancels copy mode and any other modes. 1872.Fl s 1873copies from 1874.Ar src-pane 1875instead of 1876.Ar target-pane . 1877.Pp 1878.Fl e 1879specifies that scrolling to the bottom of the history (to the visible screen) 1880should exit copy mode. 1881While in copy mode, pressing a key other than those used for scrolling will 1882disable this behaviour. 1883This is intended to allow fast scrolling through a pane's history, for 1884example with: 1885.Bd -literal -offset indent 1886bind PageUp copy-mode -eu 1887.Ed 1888.El 1889.Pp 1890A number of preset arrangements of panes are available, these are called layouts. 1891These may be selected with the 1892.Ic select-layout 1893command or cycled with 1894.Ic next-layout 1895(bound to 1896.Ql Space 1897by default); once a layout is chosen, panes within it may be moved and resized 1898as normal. 1899.Pp 1900The following layouts are supported: 1901.Bl -tag -width Ds 1902.It Ic even-horizontal 1903Panes are spread out evenly from left to right across the window. 1904.It Ic even-vertical 1905Panes are spread evenly from top to bottom. 1906.It Ic main-horizontal 1907A large (main) pane is shown at the top of the window and the remaining panes 1908are spread from left to right in the leftover space at the bottom. 1909Use the 1910.Em main-pane-height 1911window option to specify the height of the top pane. 1912.It Ic main-vertical 1913Similar to 1914.Ic main-horizontal 1915but the large pane is placed on the left and the others spread from top to 1916bottom along the right. 1917See the 1918.Em main-pane-width 1919window option. 1920.It Ic tiled 1921Panes are spread out as evenly as possible over the window in both rows and 1922columns. 1923.El 1924.Pp 1925In addition, 1926.Ic select-layout 1927may be used to apply a previously used layout - the 1928.Ic list-windows 1929command displays the layout of each window in a form suitable for use with 1930.Ic select-layout . 1931For example: 1932.Bd -literal -offset indent 1933$ tmux list-windows 19340: ksh [159x48] 1935 layout: bb62,159x48,0,0{79x48,0,0,79x48,80,0} 1936$ tmux select-layout bb62,159x48,0,0{79x48,0,0,79x48,80,0} 1937.Ed 1938.Pp 1939.Nm 1940automatically adjusts the size of the layout for the current window size. 1941Note that a layout cannot be applied to a window with more panes than that 1942from which the layout was originally defined. 1943.Pp 1944Commands related to windows and panes are as follows: 1945.Bl -tag -width Ds 1946.Tg breakp 1947.It Xo Ic break-pane 1948.Op Fl abdP 1949.Op Fl F Ar format 1950.Op Fl n Ar window-name 1951.Op Fl s Ar src-pane 1952.Op Fl t Ar dst-window 1953.Xc 1954.D1 Pq alias: Ic breakp 1955Break 1956.Ar src-pane 1957off from its containing window to make it the only pane in 1958.Ar dst-window . 1959With 1960.Fl a 1961or 1962.Fl b , 1963the window is moved to the next index after or before (existing windows are 1964moved if necessary). 1965If 1966.Fl d 1967is given, the new window does not become the current window. 1968The 1969.Fl P 1970option prints information about the new window after it has been created. 1971By default, it uses the format 1972.Ql #{session_name}:#{window_index}.#{pane_index} 1973but a different format may be specified with 1974.Fl F . 1975.Tg capturep 1976.It Xo Ic capture-pane 1977.Op Fl aepPqCJN 1978.Op Fl b Ar buffer-name 1979.Op Fl E Ar end-line 1980.Op Fl S Ar start-line 1981.Op Fl t Ar target-pane 1982.Xc 1983.D1 Pq alias: Ic capturep 1984Capture the contents of a pane. 1985If 1986.Fl p 1987is given, the output goes to stdout, otherwise to the buffer specified with 1988.Fl b 1989or a new buffer if omitted. 1990If 1991.Fl a 1992is given, the alternate screen is used, and the history is not accessible. 1993If no alternate screen exists, an error will be returned unless 1994.Fl q 1995is given. 1996If 1997.Fl e 1998is given, the output includes escape sequences for text and background 1999attributes. 2000.Fl C 2001also escapes non-printable characters as octal \exxx. 2002.Fl N 2003preserves trailing spaces at each line's end and 2004.Fl J 2005preserves trailing spaces and joins any wrapped lines. 2006.Fl P 2007captures only any output that the pane has received that is the beginning of an 2008as-yet incomplete escape sequence. 2009.Pp 2010.Fl S 2011and 2012.Fl E 2013specify the starting and ending line numbers, zero is the first line of the 2014visible pane and negative numbers are lines in the history. 2015.Ql - 2016to 2017.Fl S 2018is the start of the history and to 2019.Fl E 2020the end of the visible pane. 2021The default is to capture only the visible contents of the pane. 2022.It Xo 2023.Ic choose-client 2024.Op Fl NrZ 2025.Op Fl F Ar format 2026.Op Fl f Ar filter 2027.Op Fl K Ar key-format 2028.Op Fl O Ar sort-order 2029.Op Fl t Ar target-pane 2030.Op Ar template 2031.Xc 2032Put a pane into client mode, allowing a client to be selected interactively from 2033a list. 2034Each client is shown on one line. 2035A shortcut key is shown on the left in brackets allowing for immediate choice, 2036or the list may be navigated and an item chosen or otherwise manipulated using 2037the keys below. 2038.Fl Z 2039zooms the pane. 2040The following keys may be used in client mode: 2041.Bl -column "Key" "Function" -offset indent 2042.It Sy "Key" Ta Sy "Function" 2043.It Li "Enter" Ta "Choose selected client" 2044.It Li "Up" Ta "Select previous client" 2045.It Li "Down" Ta "Select next client" 2046.It Li "C-s" Ta "Search by name" 2047.It Li "n" Ta "Repeat last search" 2048.It Li "t" Ta "Toggle if client is tagged" 2049.It Li "T" Ta "Tag no clients" 2050.It Li "C-t" Ta "Tag all clients" 2051.It Li "d" Ta "Detach selected client" 2052.It Li "D" Ta "Detach tagged clients" 2053.It Li "x" Ta "Detach and HUP selected client" 2054.It Li "X" Ta "Detach and HUP tagged clients" 2055.It Li "z" Ta "Suspend selected client" 2056.It Li "Z" Ta "Suspend tagged clients" 2057.It Li "f" Ta "Enter a format to filter items" 2058.It Li "O" Ta "Change sort field" 2059.It Li "r" Ta "Reverse sort order" 2060.It Li "v" Ta "Toggle preview" 2061.It Li "q" Ta "Exit mode" 2062.El 2063.Pp 2064After a client is chosen, 2065.Ql %% 2066is replaced by the client name in 2067.Ar template 2068and the result executed as a command. 2069If 2070.Ar template 2071is not given, "detach-client -t '%%'" is used. 2072.Pp 2073.Fl O 2074specifies the initial sort field: one of 2075.Ql name , 2076.Ql size , 2077.Ql creation , 2078or 2079.Ql activity . 2080.Fl r 2081reverses the sort order. 2082.Fl f 2083specifies an initial filter: the filter is a format - if it evaluates to zero, 2084the item in the list is not shown, otherwise it is shown. 2085If a filter would lead to an empty list, it is ignored. 2086.Fl F 2087specifies the format for each item in the list and 2088.Fl K 2089a format for each shortcut key; both are evaluated once for each line. 2090.Fl N 2091starts without the preview. 2092This command works only if at least one client is attached. 2093.It Xo 2094.Ic choose-tree 2095.Op Fl GNrswZ 2096.Op Fl F Ar format 2097.Op Fl f Ar filter 2098.Op Fl K Ar key-format 2099.Op Fl O Ar sort-order 2100.Op Fl t Ar target-pane 2101.Op Ar template 2102.Xc 2103Put a pane into tree mode, where a session, window or pane may be chosen 2104interactively from a tree. 2105Each session, window or pane is shown on one line. 2106A shortcut key is shown on the left in brackets allowing for immediate choice, 2107or the tree may be navigated and an item chosen or otherwise manipulated using 2108the keys below. 2109.Fl s 2110starts with sessions collapsed and 2111.Fl w 2112with windows collapsed. 2113.Fl Z 2114zooms the pane. 2115The following keys may be used in tree mode: 2116.Bl -column "Key" "Function" -offset indent 2117.It Sy "Key" Ta Sy "Function" 2118.It Li "Enter" Ta "Choose selected item" 2119.It Li "Up" Ta "Select previous item" 2120.It Li "Down" Ta "Select next item" 2121.It Li "+" Ta "Expand selected item" 2122.It Li "-" Ta "Collapse selected item" 2123.It Li "M-+" Ta "Expand all items" 2124.It Li "M--" Ta "Collapse all items" 2125.It Li "x" Ta "Kill selected item" 2126.It Li "X" Ta "Kill tagged items" 2127.It Li "<" Ta "Scroll list of previews left" 2128.It Li ">" Ta "Scroll list of previews right" 2129.It Li "C-s" Ta "Search by name" 2130.It Li "m" Ta "Set the marked pane" 2131.It Li "M" Ta "Clear the marked pane" 2132.It Li "n" Ta "Repeat last search" 2133.It Li "t" Ta "Toggle if item is tagged" 2134.It Li "T" Ta "Tag no items" 2135.It Li "C-t" Ta "Tag all items" 2136.It Li "\&:" Ta "Run a command for each tagged item" 2137.It Li "f" Ta "Enter a format to filter items" 2138.It Li "H" Ta "Jump to the starting pane" 2139.It Li "O" Ta "Change sort field" 2140.It Li "r" Ta "Reverse sort order" 2141.It Li "v" Ta "Toggle preview" 2142.It Li "q" Ta "Exit mode" 2143.El 2144.Pp 2145After a session, window or pane is chosen, the first instance of 2146.Ql %% 2147and all instances of 2148.Ql %1 2149are replaced by the target in 2150.Ar template 2151and the result executed as a command. 2152If 2153.Ar template 2154is not given, "switch-client -t '%%'" is used. 2155.Pp 2156.Fl O 2157specifies the initial sort field: one of 2158.Ql index , 2159.Ql name , 2160or 2161.Ql time . 2162.Fl r 2163reverses the sort order. 2164.Fl f 2165specifies an initial filter: the filter is a format - if it evaluates to zero, 2166the item in the list is not shown, otherwise it is shown. 2167If a filter would lead to an empty list, it is ignored. 2168.Fl F 2169specifies the format for each item in the tree and 2170.Fl K 2171a format for each shortcut key; both are evaluated once for each line. 2172.Fl N 2173starts without the preview. 2174.Fl G 2175includes all sessions in any session groups in the tree rather than only the 2176first. 2177This command works only if at least one client is attached. 2178.It Xo 2179.Ic customize-mode 2180.Op Fl NZ 2181.Op Fl F Ar format 2182.Op Fl f Ar filter 2183.Op Fl t Ar target-pane 2184.Op Ar template 2185.Xc 2186Put a pane into customize mode, where options and key bindings may be browsed 2187and modified from a list. 2188Option values in the list are shown for the active pane in the current window. 2189.Fl Z 2190zooms the pane. 2191The following keys may be used in customize mode: 2192.Bl -column "Key" "Function" -offset indent 2193.It Sy "Key" Ta Sy "Function" 2194.It Li "Enter" Ta "Set pane, window, session or global option value" 2195.It Li "Up" Ta "Select previous item" 2196.It Li "Down" Ta "Select next item" 2197.It Li "+" Ta "Expand selected item" 2198.It Li "-" Ta "Collapse selected item" 2199.It Li "M-+" Ta "Expand all items" 2200.It Li "M--" Ta "Collapse all items" 2201.It Li "s" Ta "Set option value or key attribute" 2202.It Li "S" Ta "Set global option value" 2203.It Li "w" Ta "Set window option value, if option is for pane and window" 2204.It Li "d" Ta "Set an option or key to the default" 2205.It Li "D" Ta "Set tagged options and tagged keys to the default" 2206.It Li "u" Ta "Unset an option (set to default value if global) or unbind a key" 2207.It Li "U" Ta "Unset tagged options and unbind tagged keys" 2208.It Li "C-s" Ta "Search by name" 2209.It Li "n" Ta "Repeat last search" 2210.It Li "t" Ta "Toggle if item is tagged" 2211.It Li "T" Ta "Tag no items" 2212.It Li "C-t" Ta "Tag all items" 2213.It Li "f" Ta "Enter a format to filter items" 2214.It Li "v" Ta "Toggle option information" 2215.It Li "q" Ta "Exit mode" 2216.El 2217.Pp 2218.Fl f 2219specifies an initial filter: the filter is a format - if it evaluates to zero, 2220the item in the list is not shown, otherwise it is shown. 2221If a filter would lead to an empty list, it is ignored. 2222.Fl F 2223specifies the format for each item in the tree. 2224.Fl N 2225starts without the option information. 2226This command works only if at least one client is attached. 2227.It Xo 2228.Tg displayp 2229.Ic display-panes 2230.Op Fl bN 2231.Op Fl d Ar duration 2232.Op Fl t Ar target-client 2233.Op Ar template 2234.Xc 2235.D1 Pq alias: Ic displayp 2236Display a visible indicator of each pane shown by 2237.Ar target-client . 2238See the 2239.Ic display-panes-colour 2240and 2241.Ic display-panes-active-colour 2242session options. 2243The indicator is closed when a key is pressed (unless 2244.Fl N 2245is given) or 2246.Ar duration 2247milliseconds have passed. 2248If 2249.Fl d 2250is not given, 2251.Ic display-panes-time 2252is used. 2253A duration of zero means the indicator stays until a key is pressed. 2254While the indicator is on screen, a pane may be chosen with the 2255.Ql 0 2256to 2257.Ql 9 2258keys, which will cause 2259.Ar template 2260to be executed as a command with 2261.Ql %% 2262substituted by the pane ID. 2263The default 2264.Ar template 2265is "select-pane -t '%%'". 2266With 2267.Fl b , 2268other commands are not blocked from running until the indicator is closed. 2269.Tg findw 2270.It Xo Ic find-window 2271.Op Fl iCNrTZ 2272.Op Fl t Ar target-pane 2273.Ar match-string 2274.Xc 2275.D1 Pq alias: Ic findw 2276Search for a 2277.Xr fnmatch 3 2278pattern or, with 2279.Fl r , 2280regular expression 2281.Ar match-string 2282in window names, titles, and visible content (but not history). 2283The flags control matching behavior: 2284.Fl C 2285matches only visible window contents, 2286.Fl N 2287matches only the window name and 2288.Fl T 2289matches only the window title. 2290.Fl i 2291makes the search ignore case. 2292The default is 2293.Fl CNT . 2294.Fl Z 2295zooms the pane. 2296.Pp 2297This command works only if at least one client is attached. 2298.Tg joinp 2299.It Xo Ic join-pane 2300.Op Fl bdfhv 2301.Op Fl l Ar size 2302.Op Fl s Ar src-pane 2303.Op Fl t Ar dst-pane 2304.Xc 2305.D1 Pq alias: Ic joinp 2306Like 2307.Ic split-window , 2308but instead of splitting 2309.Ar dst-pane 2310and creating a new pane, split it and move 2311.Ar src-pane 2312into the space. 2313This can be used to reverse 2314.Ic break-pane . 2315The 2316.Fl b 2317option causes 2318.Ar src-pane 2319to be joined to left of or above 2320.Ar dst-pane . 2321.Pp 2322If 2323.Fl s 2324is omitted and a marked pane is present (see 2325.Ic select-pane 2326.Fl m ) , 2327the marked pane is used rather than the current pane. 2328.Tg killp 2329.It Xo Ic kill-pane 2330.Op Fl a 2331.Op Fl t Ar target-pane 2332.Xc 2333.D1 Pq alias: Ic killp 2334Destroy the given pane. 2335If no panes remain in the containing window, it is also destroyed. 2336The 2337.Fl a 2338option kills all but the pane given with 2339.Fl t . 2340.Tg killw 2341.It Xo Ic kill-window 2342.Op Fl a 2343.Op Fl t Ar target-window 2344.Xc 2345.D1 Pq alias: Ic killw 2346Kill the current window or the window at 2347.Ar target-window , 2348removing it from any sessions to which it is linked. 2349The 2350.Fl a 2351option kills all but the window given with 2352.Fl t . 2353.Tg lastp 2354.It Xo Ic last-pane 2355.Op Fl deZ 2356.Op Fl t Ar target-window 2357.Xc 2358.D1 Pq alias: Ic lastp 2359Select the last (previously selected) pane. 2360.Fl Z 2361keeps the window zoomed if it was zoomed. 2362.Fl e 2363enables or 2364.Fl d 2365disables input to the pane. 2366.Tg last 2367.It Ic last-window Op Fl t Ar target-session 2368.D1 Pq alias: Ic last 2369Select the last (previously selected) window. 2370If no 2371.Ar target-session 2372is specified, select the last window of the current session. 2373.Tg link 2374.It Xo Ic link-window 2375.Op Fl abdk 2376.Op Fl s Ar src-window 2377.Op Fl t Ar dst-window 2378.Xc 2379.D1 Pq alias: Ic linkw 2380Link the window at 2381.Ar src-window 2382to the specified 2383.Ar dst-window . 2384If 2385.Ar dst-window 2386is specified and no such window exists, the 2387.Ar src-window 2388is linked there. 2389With 2390.Fl a 2391or 2392.Fl b 2393the window is moved to the next index after or before 2394.Ar dst-window 2395(existing windows are moved if necessary). 2396If 2397.Fl k 2398is given and 2399.Ar dst-window 2400exists, it is killed, otherwise an error is generated. 2401If 2402.Fl d 2403is given, the newly linked window is not selected. 2404.Tg lsp 2405.It Xo Ic list-panes 2406.Op Fl as 2407.Op Fl F Ar format 2408.Op Fl f Ar filter 2409.Op Fl t Ar target 2410.Xc 2411.D1 Pq alias: Ic lsp 2412If 2413.Fl a 2414is given, 2415.Ar target 2416is ignored and all panes on the server are listed. 2417If 2418.Fl s 2419is given, 2420.Ar target 2421is a session (or the current session). 2422If neither is given, 2423.Ar target 2424is a window (or the current window). 2425.Fl F 2426specifies the format of each line and 2427.Fl f 2428a filter. 2429Only panes for which the filter is true are shown. 2430See the 2431.Sx FORMATS 2432section. 2433.Tg lsw 2434.It Xo Ic list-windows 2435.Op Fl a 2436.Op Fl F Ar format 2437.Op Fl f Ar filter 2438.Op Fl t Ar target-session 2439.Xc 2440.D1 Pq alias: Ic lsw 2441If 2442.Fl a 2443is given, list all windows on the server. 2444Otherwise, list windows in the current session or in 2445.Ar target-session . 2446.Fl F 2447specifies the format of each line and 2448.Fl f 2449a filter. 2450Only windows for which the filter is true are shown. 2451See the 2452.Sx FORMATS 2453section. 2454.Tg movep 2455.It Xo Ic move-pane 2456.Op Fl bdfhv 2457.Op Fl l Ar size 2458.Op Fl s Ar src-pane 2459.Op Fl t Ar dst-pane 2460.Xc 2461.D1 Pq alias: Ic movep 2462Does the same as 2463.Ic join-pane . 2464.Tg movew 2465.It Xo Ic move-window 2466.Op Fl abrdk 2467.Op Fl s Ar src-window 2468.Op Fl t Ar dst-window 2469.Xc 2470.D1 Pq alias: Ic movew 2471This is similar to 2472.Ic link-window , 2473except the window at 2474.Ar src-window 2475is moved to 2476.Ar dst-window . 2477With 2478.Fl r , 2479all windows in the session are renumbered in sequential order, respecting 2480the 2481.Ic base-index 2482option. 2483.Tg neww 2484.It Xo Ic new-window 2485.Op Fl abdkPS 2486.Op Fl c Ar start-directory 2487.Op Fl e Ar environment 2488.Op Fl F Ar format 2489.Op Fl n Ar window-name 2490.Op Fl t Ar target-window 2491.Op Ar shell-command 2492.Xc 2493.D1 Pq alias: Ic neww 2494Create a new window. 2495With 2496.Fl a 2497or 2498.Fl b , 2499the new window is inserted at the next index after or before the specified 2500.Ar target-window , 2501moving windows up if necessary; 2502otherwise 2503.Ar target-window 2504is the new window location. 2505.Pp 2506If 2507.Fl d 2508is given, the session does not make the new window the current window. 2509.Ar target-window 2510represents the window to be created; if the target already exists an error is 2511shown, unless the 2512.Fl k 2513flag is used, in which case it is destroyed. 2514If 2515.Fl S 2516is given and a window named 2517.Ar window-name 2518already exists, it is selected (unless 2519.Fl d 2520is also given in which case the command does nothing). 2521.Pp 2522.Ar shell-command 2523is the command to execute. 2524If 2525.Ar shell-command 2526is not specified, the value of the 2527.Ic default-command 2528option is used. 2529.Fl c 2530specifies the working directory in which the new window is created. 2531.Pp 2532When the shell command completes, the window closes. 2533See the 2534.Ic remain-on-exit 2535option to change this behaviour. 2536.Pp 2537.Fl e 2538takes the form 2539.Ql VARIABLE=value 2540and sets an environment variable for the newly created window; it may be 2541specified multiple times. 2542.Pp 2543The 2544.Ev TERM 2545environment variable must be set to 2546.Ql screen 2547or 2548.Ql tmux 2549for all programs running 2550.Em inside 2551.Nm . 2552New windows will automatically have 2553.Ql TERM=screen 2554added to their environment, but care must be taken not to reset this in shell 2555start-up files or by the 2556.Fl e 2557option. 2558.Pp 2559The 2560.Fl P 2561option prints information about the new window after it has been created. 2562By default, it uses the format 2563.Ql #{session_name}:#{window_index} 2564but a different format may be specified with 2565.Fl F . 2566.Tg nextl 2567.It Ic next-layout Op Fl t Ar target-window 2568.D1 Pq alias: Ic nextl 2569Move a window to the next layout and rearrange the panes to fit. 2570.Tg next 2571.It Xo Ic next-window 2572.Op Fl a 2573.Op Fl t Ar target-session 2574.Xc 2575.D1 Pq alias: Ic next 2576Move to the next window in the session. 2577If 2578.Fl a 2579is used, move to the next window with an alert. 2580.Tg pipep 2581.It Xo Ic pipe-pane 2582.Op Fl IOo 2583.Op Fl t Ar target-pane 2584.Op Ar shell-command 2585.Xc 2586.D1 Pq alias: Ic pipep 2587Pipe output sent by the program in 2588.Ar target-pane 2589to a shell command or vice versa. 2590A pane may only be connected to one command at a time, any existing pipe is 2591closed before 2592.Ar shell-command 2593is executed. 2594The 2595.Ar shell-command 2596string may contain the special character sequences supported by the 2597.Ic status-left 2598option. 2599If no 2600.Ar shell-command 2601is given, the current pipe (if any) is closed. 2602.Pp 2603.Fl I 2604and 2605.Fl O 2606specify which of the 2607.Ar shell-command 2608output streams are connected to the pane: 2609with 2610.Fl I 2611stdout is connected (so anything 2612.Ar shell-command 2613prints is written to the pane as if it were typed); 2614with 2615.Fl O 2616stdin is connected (so any output in the pane is piped to 2617.Ar shell-command ) . 2618Both may be used together and if neither are specified, 2619.Fl O 2620is used. 2621.Pp 2622The 2623.Fl o 2624option only opens a new pipe if no previous pipe exists, allowing a pipe to 2625be toggled with a single key, for example: 2626.Bd -literal -offset indent 2627bind-key C-p pipe-pane -o 'cat >>~/output.#I-#P' 2628.Ed 2629.Tg prevl 2630.It Xo Ic previous-layout 2631.Op Fl t Ar target-window 2632.Xc 2633.D1 Pq alias: Ic prevl 2634Move to the previous layout in the session. 2635.Tg prev 2636.It Xo Ic previous-window 2637.Op Fl a 2638.Op Fl t Ar target-session 2639.Xc 2640.D1 Pq alias: Ic prev 2641Move to the previous window in the session. 2642With 2643.Fl a , 2644move to the previous window with an alert. 2645.Tg renamew 2646.It Xo Ic rename-window 2647.Op Fl t Ar target-window 2648.Ar new-name 2649.Xc 2650.D1 Pq alias: Ic renamew 2651Rename the current window, or the window at 2652.Ar target-window 2653if specified, to 2654.Ar new-name . 2655.Tg resizep 2656.It Xo Ic resize-pane 2657.Op Fl DLMRTUZ 2658.Op Fl t Ar target-pane 2659.Op Fl x Ar width 2660.Op Fl y Ar height 2661.Op Ar adjustment 2662.Xc 2663.D1 Pq alias: Ic resizep 2664Resize a pane, up, down, left or right by 2665.Ar adjustment 2666with 2667.Fl U , 2668.Fl D , 2669.Fl L 2670or 2671.Fl R , 2672or 2673to an absolute size 2674with 2675.Fl x 2676or 2677.Fl y . 2678The 2679.Ar adjustment 2680is given in lines or columns (the default is 1); 2681.Fl x 2682and 2683.Fl y 2684may be a given as a number of lines or columns or followed by 2685.Ql % 2686for a percentage of the window size (for example 2687.Ql -x 10% ) . 2688With 2689.Fl Z , 2690the active pane is toggled between zoomed (occupying the whole of the window) 2691and unzoomed (its normal position in the layout). 2692.Pp 2693.Fl M 2694begins mouse resizing (only valid if bound to a mouse key binding, see 2695.Sx MOUSE SUPPORT ) . 2696.Pp 2697.Fl T 2698trims all lines below the current cursor position and moves lines out of the 2699history to replace them. 2700.Tg resizew 2701.It Xo Ic resize-window 2702.Op Fl aADLRU 2703.Op Fl t Ar target-window 2704.Op Fl x Ar width 2705.Op Fl y Ar height 2706.Op Ar adjustment 2707.Xc 2708.D1 Pq alias: Ic resizew 2709Resize a window, up, down, left or right by 2710.Ar adjustment 2711with 2712.Fl U , 2713.Fl D , 2714.Fl L 2715or 2716.Fl R , 2717or 2718to an absolute size 2719with 2720.Fl x 2721or 2722.Fl y . 2723The 2724.Ar adjustment 2725is given in lines or cells (the default is 1). 2726.Fl A 2727sets the size of the largest session containing the window; 2728.Fl a 2729the size of the smallest. 2730This command will automatically set 2731.Ic window-size 2732to manual in the window options. 2733.Tg respawnp 2734.It Xo Ic respawn-pane 2735.Op Fl k 2736.Op Fl c Ar start-directory 2737.Op Fl e Ar environment 2738.Op Fl t Ar target-pane 2739.Op Ar shell-command 2740.Xc 2741.D1 Pq alias: Ic respawnp 2742Reactivate a pane in which the command has exited (see the 2743.Ic remain-on-exit 2744window option). 2745If 2746.Ar shell-command 2747is not given, the command used when the pane was created or last respawned is 2748executed. 2749The pane must be already inactive, unless 2750.Fl k 2751is given, in which case any existing command is killed. 2752.Fl c 2753specifies a new working directory for the pane. 2754The 2755.Fl e 2756option has the same meaning as for the 2757.Ic new-window 2758command. 2759.Tg respawnw 2760.It Xo Ic respawn-window 2761.Op Fl k 2762.Op Fl c Ar start-directory 2763.Op Fl e Ar environment 2764.Op Fl t Ar target-window 2765.Op Ar shell-command 2766.Xc 2767.D1 Pq alias: Ic respawnw 2768Reactivate a window in which the command has exited (see the 2769.Ic remain-on-exit 2770window option). 2771If 2772.Ar shell-command 2773is not given, the command used when the window was created or last respawned is 2774executed. 2775The window must be already inactive, unless 2776.Fl k 2777is given, in which case any existing command is killed. 2778.Fl c 2779specifies a new working directory for the window. 2780The 2781.Fl e 2782option has the same meaning as for the 2783.Ic new-window 2784command. 2785.Tg rotatew 2786.It Xo Ic rotate-window 2787.Op Fl DUZ 2788.Op Fl t Ar target-window 2789.Xc 2790.D1 Pq alias: Ic rotatew 2791Rotate the positions of the panes within a window, either upward (numerically 2792lower) with 2793.Fl U 2794or downward (numerically higher). 2795.Fl Z 2796keeps the window zoomed if it was zoomed. 2797.Tg selectl 2798.It Xo Ic select-layout 2799.Op Fl Enop 2800.Op Fl t Ar target-pane 2801.Op Ar layout-name 2802.Xc 2803.D1 Pq alias: Ic selectl 2804Choose a specific layout for a window. 2805If 2806.Ar layout-name 2807is not given, the last preset layout used (if any) is reapplied. 2808.Fl n 2809and 2810.Fl p 2811are equivalent to the 2812.Ic next-layout 2813and 2814.Ic previous-layout 2815commands. 2816.Fl o 2817applies the last set layout if possible (undoes the most recent layout change). 2818.Fl E 2819spreads the current pane and any panes next to it out evenly. 2820.Tg selectp 2821.It Xo Ic select-pane 2822.Op Fl DdeLlMmRUZ 2823.Op Fl T Ar title 2824.Op Fl t Ar target-pane 2825.Xc 2826.D1 Pq alias: Ic selectp 2827Make pane 2828.Ar target-pane 2829the active pane in its window. 2830If one of 2831.Fl D , 2832.Fl L , 2833.Fl R , 2834or 2835.Fl U 2836is used, respectively the pane below, to the left, to the right, or above the 2837target pane is used. 2838.Fl Z 2839keeps the window zoomed if it was zoomed. 2840.Fl l 2841is the same as using the 2842.Ic last-pane 2843command. 2844.Fl e 2845enables or 2846.Fl d 2847disables input to the pane. 2848.Fl T 2849sets the pane title. 2850.Pp 2851.Fl m 2852and 2853.Fl M 2854are used to set and clear the 2855.Em marked pane . 2856There is one marked pane at a time, setting a new marked pane clears the last. 2857The marked pane is the default target for 2858.Fl s 2859to 2860.Ic join-pane , 2861.Ic move-pane , 2862.Ic swap-pane 2863and 2864.Ic swap-window . 2865.Tg selectw 2866.It Xo Ic select-window 2867.Op Fl lnpT 2868.Op Fl t Ar target-window 2869.Xc 2870.D1 Pq alias: Ic selectw 2871Select the window at 2872.Ar target-window . 2873.Fl l , 2874.Fl n 2875and 2876.Fl p 2877are equivalent to the 2878.Ic last-window , 2879.Ic next-window 2880and 2881.Ic previous-window 2882commands. 2883If 2884.Fl T 2885is given and the selected window is already the current window, 2886the command behaves like 2887.Ic last-window . 2888.Tg splitw 2889.It Xo Ic split-window 2890.Op Fl bdfhIvPZ 2891.Op Fl c Ar start-directory 2892.Op Fl e Ar environment 2893.Op Fl l Ar size 2894.Op Fl t Ar target-pane 2895.Op Ar shell-command 2896.Op Fl F Ar format 2897.Xc 2898.D1 Pq alias: Ic splitw 2899Create a new pane by splitting 2900.Ar target-pane : 2901.Fl h 2902does a horizontal split and 2903.Fl v 2904a vertical split; if neither is specified, 2905.Fl v 2906is assumed. 2907The 2908.Fl l 2909option specifies the size of the new pane in lines (for vertical split) or in 2910columns (for horizontal split); 2911.Ar size 2912may be followed by 2913.Ql % 2914to specify a percentage of the available space. 2915The 2916.Fl b 2917option causes the new pane to be created to the left of or above 2918.Ar target-pane . 2919The 2920.Fl f 2921option creates a new pane spanning the full window height (with 2922.Fl h ) 2923or full window width (with 2924.Fl v ) , 2925instead of splitting the active pane. 2926.Fl Z 2927zooms if the window is not zoomed, or keeps it zoomed if already zoomed. 2928.Pp 2929An empty 2930.Ar shell-command 2931('') will create a pane with no command running in it. 2932Output can be sent to such a pane with the 2933.Ic display-message 2934command. 2935The 2936.Fl I 2937flag (if 2938.Ar shell-command 2939is not specified or empty) 2940will create an empty pane and forward any output from stdin to it. 2941For example: 2942.Bd -literal -offset indent 2943$ make 2>&1|tmux splitw -dI & 2944.Ed 2945.Pp 2946All other options have the same meaning as for the 2947.Ic new-window 2948command. 2949.Tg swapp 2950.It Xo Ic swap-pane 2951.Op Fl dDUZ 2952.Op Fl s Ar src-pane 2953.Op Fl t Ar dst-pane 2954.Xc 2955.D1 Pq alias: Ic swapp 2956Swap two panes. 2957If 2958.Fl U 2959is used and no source pane is specified with 2960.Fl s , 2961.Ar dst-pane 2962is swapped with the previous pane (before it numerically); 2963.Fl D 2964swaps with the next pane (after it numerically). 2965.Fl d 2966instructs 2967.Nm 2968not to change the active pane and 2969.Fl Z 2970keeps the window zoomed if it was zoomed. 2971.Pp 2972If 2973.Fl s 2974is omitted and a marked pane is present (see 2975.Ic select-pane 2976.Fl m ) , 2977the marked pane is used rather than the current pane. 2978.Tg swapw 2979.It Xo Ic swap-window 2980.Op Fl d 2981.Op Fl s Ar src-window 2982.Op Fl t Ar dst-window 2983.Xc 2984.D1 Pq alias: Ic swapw 2985This is similar to 2986.Ic link-window , 2987except the source and destination windows are swapped. 2988It is an error if no window exists at 2989.Ar src-window . 2990If 2991.Fl d 2992is given, the new window does not become the current window. 2993.Pp 2994If 2995.Fl s 2996is omitted and a marked pane is present (see 2997.Ic select-pane 2998.Fl m ) , 2999the window containing the marked pane is used rather than the current window. 3000.Tg unlinkw 3001.It Xo Ic unlink-window 3002.Op Fl k 3003.Op Fl t Ar target-window 3004.Xc 3005.D1 Pq alias: Ic unlinkw 3006Unlink 3007.Ar target-window . 3008Unless 3009.Fl k 3010is given, a window may be unlinked only if it is linked to multiple sessions - 3011windows may not be linked to no sessions; 3012if 3013.Fl k 3014is specified and the window is linked to only one session, it is unlinked and 3015destroyed. 3016.El 3017.Sh KEY BINDINGS 3018.Nm 3019allows a command to be bound to most keys, with or without a prefix key. 3020When specifying keys, most represent themselves (for example 3021.Ql A 3022to 3023.Ql Z ) . 3024Ctrl keys may be prefixed with 3025.Ql C- 3026or 3027.Ql ^ , 3028Shift keys with 3029.Ql S- 3030and Alt (meta) with 3031.Ql M- . 3032In addition, the following special key names are accepted: 3033.Em Up , 3034.Em Down , 3035.Em Left , 3036.Em Right , 3037.Em BSpace , 3038.Em BTab , 3039.Em DC 3040(Delete), 3041.Em End , 3042.Em Enter , 3043.Em Escape , 3044.Em F1 3045to 3046.Em F12 , 3047.Em Home , 3048.Em IC 3049(Insert), 3050.Em NPage/PageDown/PgDn , 3051.Em PPage/PageUp/PgUp , 3052.Em Space , 3053and 3054.Em Tab . 3055Note that to bind the 3056.Ql \&" 3057or 3058.Ql ' 3059keys, quotation marks are necessary, for example: 3060.Bd -literal -offset indent 3061bind-key '"' split-window 3062bind-key "'" new-window 3063.Ed 3064.Pp 3065A command bound to the 3066.Em Any 3067key will execute for all keys which do not have a more specific binding. 3068.Pp 3069Commands related to key bindings are as follows: 3070.Bl -tag -width Ds 3071.Tg bind 3072.It Xo Ic bind-key 3073.Op Fl nr 3074.Op Fl N Ar note 3075.Op Fl T Ar key-table 3076.Ar key command Op Ar arguments 3077.Xc 3078.D1 Pq alias: Ic bind 3079Bind key 3080.Ar key 3081to 3082.Ar command . 3083Keys are bound in a key table. 3084By default (without -T), the key is bound in 3085the 3086.Em prefix 3087key table. 3088This table is used for keys pressed after the prefix key (for example, 3089by default 3090.Ql c 3091is bound to 3092.Ic new-window 3093in the 3094.Em prefix 3095table, so 3096.Ql C-b c 3097creates a new window). 3098The 3099.Em root 3100table is used for keys pressed without the prefix key: binding 3101.Ql c 3102to 3103.Ic new-window 3104in the 3105.Em root 3106table (not recommended) means a plain 3107.Ql c 3108will create a new window. 3109.Fl n 3110is an alias 3111for 3112.Fl T Ar root . 3113Keys may also be bound in custom key tables and the 3114.Ic switch-client 3115.Fl T 3116command used to switch to them from a key binding. 3117The 3118.Fl r 3119flag indicates this key may repeat, see the 3120.Ic repeat-time 3121option. 3122.Fl N 3123attaches a note to the key (shown with 3124.Ic list-keys 3125.Fl N ) . 3126.Pp 3127To view the default bindings and possible commands, see the 3128.Ic list-keys 3129command. 3130.Tg lsk 3131.It Xo Ic list-keys 3132.Op Fl 1aN 3133.Op Fl P Ar prefix-string Fl T Ar key-table 3134.Op Ar key 3135.Xc 3136.D1 Pq alias: Ic lsk 3137List key bindings. 3138There are two forms: the default lists keys as 3139.Ic bind-key 3140commands; 3141.Fl N 3142lists only keys with attached notes and shows only the key and note for each 3143key. 3144.Pp 3145With the default form, all key tables are listed by default. 3146.Fl T 3147lists only keys in 3148.Ar key-table . 3149.Pp 3150With the 3151.Fl N 3152form, only keys in the 3153.Em root 3154and 3155.Em prefix 3156key tables are listed by default; 3157.Fl T 3158also lists only keys in 3159.Ar key-table . 3160.Fl P 3161specifies a prefix to print before each key and 3162.Fl 1 3163lists only the first matching key. 3164.Fl a 3165lists the command for keys that do not have a note rather than skipping them. 3166.Tg send 3167.It Xo Ic send-keys 3168.Op Fl FHlMRX 3169.Op Fl N Ar repeat-count 3170.Op Fl t Ar target-pane 3171.Ar key Ar ... 3172.Xc 3173.D1 Pq alias: Ic send 3174Send a key or keys to a window. 3175Each argument 3176.Ar key 3177is the name of the key (such as 3178.Ql C-a 3179or 3180.Ql NPage ) 3181to send; if the string is not recognised as a key, it is sent as a series of 3182characters. 3183All arguments are sent sequentially from first to last. 3184If no keys are given and the command is bound to a key, then that key is used. 3185.Pp 3186The 3187.Fl l 3188flag disables key name lookup and processes the keys as literal UTF-8 3189characters. 3190The 3191.Fl H 3192flag expects each key to be a hexadecimal number for an ASCII character. 3193.Pp 3194The 3195.Fl R 3196flag causes the terminal state to be reset. 3197.Pp 3198.Fl M 3199passes through a mouse event (only valid if bound to a mouse key binding, see 3200.Sx MOUSE SUPPORT ) . 3201.Pp 3202.Fl X 3203is used to send a command into copy mode - see 3204the 3205.Sx WINDOWS AND PANES 3206section. 3207.Fl N 3208specifies a repeat count and 3209.Fl F 3210expands formats in arguments where appropriate. 3211.It Xo Ic send-prefix 3212.Op Fl 2 3213.Op Fl t Ar target-pane 3214.Xc 3215Send the prefix key, or with 3216.Fl 2 3217the secondary prefix key, to a window as if it was pressed. 3218.Tg unbind 3219.It Xo Ic unbind-key 3220.Op Fl anq 3221.Op Fl T Ar key-table 3222.Ar key 3223.Xc 3224.D1 Pq alias: Ic unbind 3225Unbind the command bound to 3226.Ar key . 3227.Fl n 3228and 3229.Fl T 3230are the same as for 3231.Ic bind-key . 3232If 3233.Fl a 3234is present, all key bindings are removed. 3235The 3236.Fl q 3237option prevents errors being returned. 3238.El 3239.Sh OPTIONS 3240The appearance and behaviour of 3241.Nm 3242may be modified by changing the value of various options. 3243There are four types of option: 3244.Em server options , 3245.Em session options , 3246.Em window options , 3247and 3248.Em pane options . 3249.Pp 3250The 3251.Nm 3252server has a set of global server options which do not apply to any particular 3253window or session or pane. 3254These are altered with the 3255.Ic set-option 3256.Fl s 3257command, or displayed with the 3258.Ic show-options 3259.Fl s 3260command. 3261.Pp 3262In addition, each individual session may have a set of session options, and 3263there is a separate set of global session options. 3264Sessions which do not have a particular option configured inherit the value 3265from the global session options. 3266Session options are set or unset with the 3267.Ic set-option 3268command and may be listed with the 3269.Ic show-options 3270command. 3271The available server and session options are listed under the 3272.Ic set-option 3273command. 3274.Pp 3275Similarly, a set of window options is attached to each window and a set of pane 3276options to each pane. 3277Pane options inherit from window options. 3278This means any pane option may be set as a window option to apply the option to 3279all panes in the window without the option set, for example these commands will 3280set the background colour to red for all panes except pane 0: 3281.Bd -literal -offset indent 3282set -w window-style bg=red 3283set -pt:.0 window-style bg=blue 3284.Ed 3285.Pp 3286There is also a set of global window options from which any unset window or 3287pane options are inherited. 3288Window and pane options are altered with 3289.Ic set-option 3290.Fl w 3291and 3292.Fl p 3293commands and displayed with 3294.Ic show-option 3295.Fl w 3296and 3297.Fl p . 3298.Pp 3299.Nm 3300also supports user options which are prefixed with a 3301.Ql \&@ . 3302User options may have any name, so long as they are prefixed with 3303.Ql \&@ , 3304and be set to any string. 3305For example: 3306.Bd -literal -offset indent 3307$ tmux set -wq @foo "abc123" 3308$ tmux show -wv @foo 3309abc123 3310.Ed 3311.Pp 3312Commands which set options are as follows: 3313.Bl -tag -width Ds 3314.Tg set 3315.It Xo Ic set-option 3316.Op Fl aFgopqsuUw 3317.Op Fl t Ar target-pane 3318.Ar option Ar value 3319.Xc 3320.D1 Pq alias: Ic set 3321Set a pane option with 3322.Fl p , 3323a window option with 3324.Fl w , 3325a server option with 3326.Fl s , 3327otherwise a session option. 3328If the option is not a user option, 3329.Fl w 3330or 3331.Fl s 3332may be unnecessary - 3333.Nm 3334will infer the type from the option name, assuming 3335.Fl w 3336for pane options. 3337If 3338.Fl g 3339is given, the global session or window option is set. 3340.Pp 3341.Fl F 3342expands formats in the option value. 3343The 3344.Fl u 3345flag unsets an option, so a session inherits the option from the global 3346options (or with 3347.Fl g , 3348restores a global option to the default). 3349.Fl U 3350unsets an option (like 3351.Fl u ) 3352but if the option is a pane option also unsets the option on any panes in the 3353window. 3354.Ar value 3355depends on the option and may be a number, a string, or a flag (on, off, or 3356omitted to toggle). 3357.Pp 3358The 3359.Fl o 3360flag prevents setting an option that is already set and the 3361.Fl q 3362flag suppresses errors about unknown or ambiguous options. 3363.Pp 3364With 3365.Fl a , 3366and if the option expects a string or a style, 3367.Ar value 3368is appended to the existing setting. 3369For example: 3370.Bd -literal -offset indent 3371set -g status-left "foo" 3372set -ag status-left "bar" 3373.Ed 3374.Pp 3375Will result in 3376.Ql foobar . 3377And: 3378.Bd -literal -offset indent 3379set -g status-style "bg=red" 3380set -ag status-style "fg=blue" 3381.Ed 3382.Pp 3383Will result in a red background 3384.Em and 3385blue foreground. 3386Without 3387.Fl a , 3388the result would be the default background and a blue foreground. 3389.Tg show 3390.It Xo Ic show-options 3391.Op Fl AgHpqsvw 3392.Op Fl t Ar target-pane 3393.Op Ar option 3394.Xc 3395.D1 Pq alias: Ic show 3396Show the pane options (or a single option if 3397.Ar option 3398is provided) with 3399.Fl p , 3400the window options with 3401.Fl w , 3402the server options with 3403.Fl s , 3404otherwise the session options. 3405If the option is not a user option, 3406.Fl w 3407or 3408.Fl s 3409may be unnecessary - 3410.Nm 3411will infer the type from the option name, assuming 3412.Fl w 3413for pane options. 3414Global session or window options are listed if 3415.Fl g 3416is used. 3417.Fl v 3418shows only the option value, not the name. 3419If 3420.Fl q 3421is set, no error will be returned if 3422.Ar option 3423is unset. 3424.Fl H 3425includes hooks (omitted by default). 3426.Fl A 3427includes options inherited from a parent set of options, such options are 3428marked with an asterisk. 3429.El 3430.Pp 3431Available server options are: 3432.Bl -tag -width Ds 3433.It Ic backspace Ar key 3434Set the key sent by 3435.Nm 3436for backspace. 3437.It Ic buffer-limit Ar number 3438Set the number of buffers; as new buffers are added to the top of the stack, 3439old ones are removed from the bottom if necessary to maintain this maximum 3440length. 3441.It Xo Ic command-alias[] 3442.Ar name=value 3443.Xc 3444This is an array of custom aliases for commands. 3445If an unknown command matches 3446.Ar name , 3447it is replaced with 3448.Ar value . 3449For example, after: 3450.Pp 3451.Dl set -s command-alias[100] zoom='resize-pane -Z' 3452.Pp 3453Using: 3454.Pp 3455.Dl zoom -t:.1 3456.Pp 3457Is equivalent to: 3458.Pp 3459.Dl resize-pane -Z -t:.1 3460.Pp 3461Note that aliases are expanded when a command is parsed rather than when it is 3462executed, so binding an alias with 3463.Ic bind-key 3464will bind the expanded form. 3465.It Ic default-terminal Ar terminal 3466Set the default terminal for new windows created in this session - the 3467default value of the 3468.Ev TERM 3469environment variable. 3470For 3471.Nm 3472to work correctly, this 3473.Em must 3474be set to 3475.Ql screen , 3476.Ql tmux 3477or a derivative of them. 3478.It Ic copy-command Ar shell-command 3479Give the command to pipe to if the 3480.Ic copy-pipe 3481copy mode command is used without arguments. 3482.It Ic escape-time Ar time 3483Set the time in milliseconds for which 3484.Nm 3485waits after an escape is input to determine if it is part of a function or meta 3486key sequences. 3487The default is 500 milliseconds. 3488.It Ic editor Ar shell-command 3489Set the command used when 3490.Nm 3491runs an editor. 3492.It Xo Ic exit-empty 3493.Op Ic on | off 3494.Xc 3495If enabled (the default), the server will exit when there are no active 3496sessions. 3497.It Xo Ic exit-unattached 3498.Op Ic on | off 3499.Xc 3500If enabled, the server will exit when there are no attached clients. 3501.It Xo Ic extended-keys 3502.Op Ic on | off | always 3503.Xc 3504When 3505.Ic on 3506or 3507.Ic always , 3508the escape sequence to enable extended keys is sent to the terminal, if 3509.Nm 3510knows that it is supported. 3511.Nm 3512always recognises extended keys itself. 3513If this option is 3514.Ic on , 3515.Nm 3516will only forward extended keys to applications when they request them; if 3517.Ic always , 3518.Nm 3519will always forward the keys. 3520.It Xo Ic focus-events 3521.Op Ic on | off 3522.Xc 3523When enabled, focus events are requested from the terminal if supported and 3524passed through to applications running in 3525.Nm . 3526Attached clients should be detached and attached again after changing this 3527option. 3528.It Ic history-file Ar path 3529If not empty, a file to which 3530.Nm 3531will write command prompt history on exit and load it from on start. 3532.It Ic message-limit Ar number 3533Set the number of error or information messages to save in the message log for 3534each client. 3535.It Ic prompt-history-limit Ar number 3536Set the number of history items to save in the history file for each type of 3537command prompt. 3538.It Xo Ic set-clipboard 3539.Op Ic on | external | off 3540.Xc 3541Attempt to set the terminal clipboard content using the 3542.Xr xterm 1 3543escape sequence, if there is an 3544.Em \&Ms 3545entry in the 3546.Xr terminfo 5 3547description (see the 3548.Sx TERMINFO EXTENSIONS 3549section). 3550.Pp 3551If set to 3552.Ic on , 3553.Nm 3554will both accept the escape sequence to create a buffer and attempt to set 3555the terminal clipboard. 3556If set to 3557.Ic external , 3558.Nm 3559will attempt to set the terminal clipboard but ignore attempts 3560by applications to set 3561.Nm 3562buffers. 3563If 3564.Ic off , 3565.Nm 3566will neither accept the clipboard escape sequence nor attempt to set the 3567clipboard. 3568.Pp 3569Note that this feature needs to be enabled in 3570.Xr xterm 1 3571by setting the resource: 3572.Bd -literal -offset indent 3573disallowedWindowOps: 20,21,SetXprop 3574.Ed 3575.Pp 3576Or changing this property from the 3577.Xr xterm 1 3578interactive menu when required. 3579.It Ic terminal-features[] Ar string 3580Set terminal features for terminal types read from 3581.Xr terminfo 5 . 3582.Nm 3583has a set of named terminal features. 3584Each will apply appropriate changes to the 3585.Xr terminfo 5 3586entry in use. 3587.Pp 3588.Nm 3589can detect features for a few common terminals; this option can be used to 3590easily tell tmux about features supported by terminals it cannot detect. 3591The 3592.Ic terminal-overrides 3593option allows individual 3594.Xr terminfo 5 3595capabilities to be set instead, 3596.Ic terminal-features 3597is intended for classes of functionality supported in a standard way but not 3598reported by 3599.Xr terminfo 5 . 3600Care must be taken to configure this only with features the terminal actually 3601supports. 3602.Pp 3603This is an array option where each entry is a colon-separated string made up 3604of a terminal type pattern (matched using 3605.Xr fnmatch 3 ) 3606followed by a list of terminal features. 3607The available features are: 3608.Bl -tag -width Ds 3609.It 256 3610Supports 256 colours with the SGR escape sequences. 3611.It clipboard 3612Allows setting the system clipboard. 3613.It ccolour 3614Allows setting the cursor colour. 3615.It cstyle 3616Allows setting the cursor style. 3617.It extkeys 3618Supports extended keys. 3619.It focus 3620Supports focus reporting. 3621.It margins 3622Supports DECSLRM margins. 3623.It mouse 3624Supports 3625.Xr xterm 1 3626mouse sequences. 3627.It osc7 3628Supports the OSC 7 working directory extension. 3629.It overline 3630Supports the overline SGR attribute. 3631.It rectfill 3632Supports the DECFRA rectangle fill escape sequence. 3633.It RGB 3634Supports RGB colour with the SGR escape sequences. 3635.It strikethrough 3636Supports the strikethrough SGR escape sequence. 3637.It sync 3638Supports synchronized updates. 3639.It title 3640Supports 3641.Xr xterm 1 3642title setting. 3643.It usstyle 3644Allows underscore style and colour to be set. 3645.El 3646.It Ic terminal-overrides[] Ar string 3647Allow terminal descriptions read using 3648.Xr terminfo 5 3649to be overridden. 3650Each entry is a colon-separated string made up of a terminal type pattern 3651(matched using 3652.Xr fnmatch 3 ) 3653and a set of 3654.Em name=value 3655entries. 3656.Pp 3657For example, to set the 3658.Ql clear 3659.Xr terminfo 5 3660entry to 3661.Ql \ee[H\ee[2J 3662for all terminal types matching 3663.Ql rxvt* : 3664.Pp 3665.Dl "rxvt*:clear=\ee[H\ee[2J" 3666.Pp 3667The terminal entry value is passed through 3668.Xr strunvis 3 3669before interpretation. 3670.It Ic user-keys[] Ar key 3671Set list of user-defined key escape sequences. 3672Each item is associated with a key named 3673.Ql User0 , 3674.Ql User1 , 3675and so on. 3676.Pp 3677For example: 3678.Bd -literal -offset indent 3679set -s user-keys[0] "\ee[5;30012~" 3680bind User0 resize-pane -L 3 3681.Ed 3682.El 3683.Pp 3684Available session options are: 3685.Bl -tag -width Ds 3686.It Xo Ic activity-action 3687.Op Ic any | none | current | other 3688.Xc 3689Set action on window activity when 3690.Ic monitor-activity 3691is on. 3692.Ic any 3693means activity in any window linked to a session causes a bell or message 3694(depending on 3695.Ic visual-activity ) 3696in the current window of that session, 3697.Ic none 3698means all activity is ignored (equivalent to 3699.Ic monitor-activity 3700being off), 3701.Ic current 3702means only activity in windows other than the current window are ignored and 3703.Ic other 3704means activity in the current window is ignored but not those in other windows. 3705.It Ic assume-paste-time Ar milliseconds 3706If keys are entered faster than one in 3707.Ar milliseconds , 3708they are assumed to have been pasted rather than typed and 3709.Nm 3710key bindings are not processed. 3711The default is one millisecond and zero disables. 3712.It Ic base-index Ar index 3713Set the base index from which an unused index should be searched when a new 3714window is created. 3715The default is zero. 3716.It Xo Ic bell-action 3717.Op Ic any | none | current | other 3718.Xc 3719Set action on a bell in a window when 3720.Ic monitor-bell 3721is on. 3722The values are the same as those for 3723.Ic activity-action . 3724.It Ic default-command Ar shell-command 3725Set the command used for new windows (if not specified when the window is 3726created) to 3727.Ar shell-command , 3728which may be any 3729.Xr sh 1 3730command. 3731The default is an empty string, which instructs 3732.Nm 3733to create a login shell using the value of the 3734.Ic default-shell 3735option. 3736.It Ic default-shell Ar path 3737Specify the default shell. 3738This is used as the login shell for new windows when the 3739.Ic default-command 3740option is set to empty, and must be the full path of the executable. 3741When started 3742.Nm 3743tries to set a default value from the first suitable of the 3744.Ev SHELL 3745environment variable, the shell returned by 3746.Xr getpwuid 3 , 3747or 3748.Pa /bin/sh . 3749This option should be configured when 3750.Nm 3751is used as a login shell. 3752.It Ic default-size Ar XxY 3753Set the default size of new windows when the 3754.Ic window-size 3755option is set to manual or when a session is created with 3756.Ic new-session 3757.Fl d . 3758The value is the width and height separated by an 3759.Ql x 3760character. 3761The default is 80x24. 3762.It Xo Ic destroy-unattached 3763.Op Ic on | off 3764.Xc 3765If enabled and the session is no longer attached to any clients, it is 3766destroyed. 3767.It Xo Ic detach-on-destroy 3768.Op Ic off | on | no-detached 3769.Xc 3770If on (the default), the client is detached when the session it is attached to 3771is destroyed. 3772If off, the client is switched to the most recently active of the remaining 3773sessions. 3774If 3775.Ic no-detached , 3776the client is detached only if there are no detached sessions; if detached 3777sessions exist, the client is switched to the most recently active. 3778.It Ic display-panes-active-colour Ar colour 3779Set the colour used by the 3780.Ic display-panes 3781command to show the indicator for the active pane. 3782.It Ic display-panes-colour Ar colour 3783Set the colour used by the 3784.Ic display-panes 3785command to show the indicators for inactive panes. 3786.It Ic display-panes-time Ar time 3787Set the time in milliseconds for which the indicators shown by the 3788.Ic display-panes 3789command appear. 3790.It Ic display-time Ar time 3791Set the amount of time for which status line messages and other on-screen 3792indicators are displayed. 3793If set to 0, messages and indicators are displayed until a key is pressed. 3794.Ar time 3795is in milliseconds. 3796.It Ic history-limit Ar lines 3797Set the maximum number of lines held in window history. 3798This setting applies only to new windows - existing window histories are not 3799resized and retain the limit at the point they were created. 3800.It Ic key-table Ar key-table 3801Set the default key table to 3802.Ar key-table 3803instead of 3804.Em root . 3805.It Ic lock-after-time Ar number 3806Lock the session (like the 3807.Ic lock-session 3808command) after 3809.Ar number 3810seconds of inactivity. 3811The default is not to lock (set to 0). 3812.It Ic lock-command Ar shell-command 3813Command to run when locking each client. 3814The default is to run 3815.Xr lock 1 3816with 3817.Fl np . 3818.It Ic message-command-style Ar style 3819Set status line message command style. 3820This is used for the command prompt with 3821.Xr vi 1 3822keys when in command mode. 3823For how to specify 3824.Ar style , 3825see the 3826.Sx STYLES 3827section. 3828.It Ic message-style Ar style 3829Set status line message style. 3830This is used for messages and for the command prompt. 3831For how to specify 3832.Ar style , 3833see the 3834.Sx STYLES 3835section. 3836.It Xo Ic mouse 3837.Op Ic on | off 3838.Xc 3839If on, 3840.Nm 3841captures the mouse and allows mouse events to be bound as key bindings. 3842See the 3843.Sx MOUSE SUPPORT 3844section for details. 3845.It Ic prefix Ar key 3846Set the key accepted as a prefix key. 3847In addition to the standard keys described under 3848.Sx KEY BINDINGS , 3849.Ic prefix 3850can be set to the special key 3851.Ql None 3852to set no prefix. 3853.It Ic prefix2 Ar key 3854Set a secondary key accepted as a prefix key. 3855Like 3856.Ic prefix , 3857.Ic prefix2 3858can be set to 3859.Ql None . 3860.It Xo Ic renumber-windows 3861.Op Ic on | off 3862.Xc 3863If on, when a window is closed in a session, automatically renumber the other 3864windows in numerical order. 3865This respects the 3866.Ic base-index 3867option if it has been set. 3868If off, do not renumber the windows. 3869.It Ic repeat-time Ar time 3870Allow multiple commands to be entered without pressing the prefix-key again 3871in the specified 3872.Ar time 3873milliseconds (the default is 500). 3874Whether a key repeats may be set when it is bound using the 3875.Fl r 3876flag to 3877.Ic bind-key . 3878Repeat is enabled for the default keys bound to the 3879.Ic resize-pane 3880command. 3881.It Xo Ic set-titles 3882.Op Ic on | off 3883.Xc 3884Attempt to set the client terminal title using the 3885.Em tsl 3886and 3887.Em fsl 3888.Xr terminfo 5 3889entries if they exist. 3890.Nm 3891automatically sets these to the \ee]0;...\e007 sequence if 3892the terminal appears to be 3893.Xr xterm 1 . 3894This option is off by default. 3895.It Ic set-titles-string Ar string 3896String used to set the client terminal title if 3897.Ic set-titles 3898is on. 3899Formats are expanded, see the 3900.Sx FORMATS 3901section. 3902.It Xo Ic silence-action 3903.Op Ic any | none | current | other 3904.Xc 3905Set action on window silence when 3906.Ic monitor-silence 3907is on. 3908The values are the same as those for 3909.Ic activity-action . 3910.It Xo Ic status 3911.Op Ic off | on | 2 | 3 | 4 | 5 3912.Xc 3913Show or hide the status line or specify its size. 3914Using 3915.Ic on 3916gives a status line one row in height; 3917.Ic 2 , 3918.Ic 3 , 3919.Ic 4 3920or 3921.Ic 5 3922more rows. 3923.It Ic status-format[] Ar format 3924Specify the format to be used for each line of the status line. 3925The default builds the top status line from the various individual status 3926options below. 3927.It Ic status-interval Ar interval 3928Update the status line every 3929.Ar interval 3930seconds. 3931By default, updates will occur every 15 seconds. 3932A setting of zero disables redrawing at interval. 3933.It Xo Ic status-justify 3934.Op Ic left | centre | right | absolute-centre 3935.Xc 3936Set the position of the window list in the status line: left, centre or right. 3937centre puts the window list in the relative centre of the available free space; 3938absolute-centre uses the centre of the entire horizontal space. 3939.It Xo Ic status-keys 3940.Op Ic vi | emacs 3941.Xc 3942Use vi or emacs-style 3943key bindings in the status line, for example at the command prompt. 3944The default is emacs, unless the 3945.Ev VISUAL 3946or 3947.Ev EDITOR 3948environment variables are set and contain the string 3949.Ql vi . 3950.It Ic status-left Ar string 3951Display 3952.Ar string 3953(by default the session name) to the left of the status line. 3954.Ar string 3955will be passed through 3956.Xr strftime 3 . 3957Also see the 3958.Sx FORMATS 3959and 3960.Sx STYLES 3961sections. 3962.Pp 3963For details on how the names and titles can be set see the 3964.Sx "NAMES AND TITLES" 3965section. 3966.Pp 3967Examples are: 3968.Bd -literal -offset indent 3969#(sysctl vm.loadavg) 3970#[fg=yellow,bold]#(apm -l)%%#[default] [#S] 3971.Ed 3972.Pp 3973The default is 3974.Ql "[#S] " . 3975.It Ic status-left-length Ar length 3976Set the maximum 3977.Ar length 3978of the left component of the status line. 3979The default is 10. 3980.It Ic status-left-style Ar style 3981Set the style of the left part of the status line. 3982For how to specify 3983.Ar style , 3984see the 3985.Sx STYLES 3986section. 3987.It Xo Ic status-position 3988.Op Ic top | bottom 3989.Xc 3990Set the position of the status line. 3991.It Ic status-right Ar string 3992Display 3993.Ar string 3994to the right of the status line. 3995By default, the current pane title in double quotes, the date and the time 3996are shown. 3997As with 3998.Ic status-left , 3999.Ar string 4000will be passed to 4001.Xr strftime 3 4002and character pairs are replaced. 4003.It Ic status-right-length Ar length 4004Set the maximum 4005.Ar length 4006of the right component of the status line. 4007The default is 40. 4008.It Ic status-right-style Ar style 4009Set the style of the right part of the status line. 4010For how to specify 4011.Ar style , 4012see the 4013.Sx STYLES 4014section. 4015.It Ic status-style Ar style 4016Set status line style. 4017For how to specify 4018.Ar style , 4019see the 4020.Sx STYLES 4021section. 4022.It Ic update-environment[] Ar variable 4023Set list of environment variables to be copied into the session environment 4024when a new session is created or an existing session is attached. 4025Any variables that do not exist in the source environment are set to be 4026removed from the session environment (as if 4027.Fl r 4028was given to the 4029.Ic set-environment 4030command). 4031.It Xo Ic visual-activity 4032.Op Ic on | off | both 4033.Xc 4034If on, display a message instead of sending a bell when activity occurs in a 4035window for which the 4036.Ic monitor-activity 4037window option is enabled. 4038If set to both, a bell and a message are produced. 4039.It Xo Ic visual-bell 4040.Op Ic on | off | both 4041.Xc 4042If on, a message is shown on a bell in a window for which the 4043.Ic monitor-bell 4044window option is enabled instead of it being passed through to the 4045terminal (which normally makes a sound). 4046If set to both, a bell and a message are produced. 4047Also see the 4048.Ic bell-action 4049option. 4050.It Xo Ic visual-silence 4051.Op Ic on | off | both 4052.Xc 4053If 4054.Ic monitor-silence 4055is enabled, prints a message after the interval has expired on a given window 4056instead of sending a bell. 4057If set to both, a bell and a message are produced. 4058.It Ic word-separators Ar string 4059Sets the session's conception of what characters are considered word 4060separators, for the purposes of the next and previous word commands in 4061copy mode. 4062.El 4063.Pp 4064Available window options are: 4065.Pp 4066.Bl -tag -width Ds -compact 4067.It Xo Ic aggressive-resize 4068.Op Ic on | off 4069.Xc 4070Aggressively resize the chosen window. 4071This means that 4072.Nm 4073will resize the window to the size of the smallest or largest session 4074(see the 4075.Ic window-size 4076option) for which it is the current window, rather than the session to 4077which it is attached. 4078The window may resize when the current window is changed on another 4079session; this option is good for full-screen programs which support 4080.Dv SIGWINCH 4081and poor for interactive programs such as shells. 4082.Pp 4083.It Xo Ic automatic-rename 4084.Op Ic on | off 4085.Xc 4086Control automatic window renaming. 4087When this setting is enabled, 4088.Nm 4089will rename the window automatically using the format specified by 4090.Ic automatic-rename-format . 4091This flag is automatically disabled for an individual window when a name 4092is specified at creation with 4093.Ic new-window 4094or 4095.Ic new-session , 4096or later with 4097.Ic rename-window , 4098or with a terminal escape sequence. 4099It may be switched off globally with: 4100.Bd -literal -offset indent 4101set-option -wg automatic-rename off 4102.Ed 4103.Pp 4104.It Ic automatic-rename-format Ar format 4105The format (see 4106.Sx FORMATS ) 4107used when the 4108.Ic automatic-rename 4109option is enabled. 4110.Pp 4111.It Ic clock-mode-colour Ar colour 4112Set clock colour. 4113.Pp 4114.It Xo Ic clock-mode-style 4115.Op Ic 12 | 24 4116.Xc 4117Set clock hour format. 4118.Pp 4119.It Ic fill-character Ar character 4120Set the character used to fill areas of the terminal unused by a window. 4121.Pp 4122.It Ic main-pane-height Ar height 4123.It Ic main-pane-width Ar width 4124Set the width or height of the main (left or top) pane in the 4125.Ic main-horizontal 4126or 4127.Ic main-vertical 4128layouts. 4129If suffixed by 4130.Ql % , 4131this is a percentage of the window size. 4132.Pp 4133.It Ic copy-mode-match-style Ar style 4134Set the style of search matches in copy mode. 4135For how to specify 4136.Ar style , 4137see the 4138.Sx STYLES 4139section. 4140.Pp 4141.It Ic copy-mode-mark-style Ar style 4142Set the style of the line containing the mark in copy mode. 4143For how to specify 4144.Ar style , 4145see the 4146.Sx STYLES 4147section. 4148.Pp 4149.It Ic copy-mode-current-match-style Ar style 4150Set the style of the current search match in copy mode. 4151For how to specify 4152.Ar style , 4153see the 4154.Sx STYLES 4155section. 4156.Pp 4157.It Xo Ic mode-keys 4158.Op Ic vi | emacs 4159.Xc 4160Use vi or emacs-style key bindings in copy mode. 4161The default is emacs, unless 4162.Ev VISUAL 4163or 4164.Ev EDITOR 4165contains 4166.Ql vi . 4167.Pp 4168.It Ic mode-style Ar style 4169Set window modes style. 4170For how to specify 4171.Ar style , 4172see the 4173.Sx STYLES 4174section. 4175.Pp 4176.It Xo Ic monitor-activity 4177.Op Ic on | off 4178.Xc 4179Monitor for activity in the window. 4180Windows with activity are highlighted in the status line. 4181.Pp 4182.It Xo Ic monitor-bell 4183.Op Ic on | off 4184.Xc 4185Monitor for a bell in the window. 4186Windows with a bell are highlighted in the status line. 4187.Pp 4188.It Xo Ic monitor-silence 4189.Op Ic interval 4190.Xc 4191Monitor for silence (no activity) in the window within 4192.Ic interval 4193seconds. 4194Windows that have been silent for the interval are highlighted in the 4195status line. 4196An interval of zero disables the monitoring. 4197.Pp 4198.It Ic other-pane-height Ar height 4199Set the height of the other panes (not the main pane) in the 4200.Ic main-horizontal 4201layout. 4202If this option is set to 0 (the default), it will have no effect. 4203If both the 4204.Ic main-pane-height 4205and 4206.Ic other-pane-height 4207options are set, the main pane will grow taller to make the other panes the 4208specified height, but will never shrink to do so. 4209If suffixed by 4210.Ql % , 4211this is a percentage of the window size. 4212.Pp 4213.It Ic other-pane-width Ar width 4214Like 4215.Ic other-pane-height , 4216but set the width of other panes in the 4217.Ic main-vertical 4218layout. 4219.Pp 4220.It Ic pane-active-border-style Ar style 4221Set the pane border style for the currently active pane. 4222For how to specify 4223.Ar style , 4224see the 4225.Sx STYLES 4226section. 4227Attributes are ignored. 4228.Pp 4229.It Ic pane-base-index Ar index 4230Like 4231.Ic base-index , 4232but set the starting index for pane numbers. 4233.Pp 4234.It Ic pane-border-format Ar format 4235Set the text shown in pane border status lines. 4236.Pp 4237.It Xo Ic pane-border-indicators 4238.Op Ic off | colour | arrows | both 4239.Xc 4240Indicate active pane by colouring only half of the border in windows with 4241exactly two panes, by displaying arrow markers, by drawing both or neither. 4242.Pp 4243.It Ic pane-border-lines Ar type 4244Set the type of characters used for drawing pane borders. 4245.Ar type 4246may be one of: 4247.Bl -tag -width Ds 4248.It single 4249single lines using ACS or UTF-8 characters 4250.It double 4251double lines using UTF-8 characters 4252.It heavy 4253heavy lines using UTF-8 characters 4254.It simple 4255simple ASCII characters 4256.It number 4257the pane number 4258.El 4259.Pp 4260.Ql double 4261and 4262.Ql heavy 4263will fall back to standard ACS line drawing when UTF-8 is not supported. 4264.Pp 4265.It Xo Ic pane-border-status 4266.Op Ic off | top | bottom 4267.Xc 4268Turn pane border status lines off or set their position. 4269.Pp 4270.It Ic pane-border-style Ar style 4271Set the pane border style for panes aside from the active pane. 4272For how to specify 4273.Ar style , 4274see the 4275.Sx STYLES 4276section. 4277Attributes are ignored. 4278.Pp 4279.It Ic popup-style Ar style 4280Set the popup style. 4281For how to specify 4282.Ar style , 4283see the 4284.Sx STYLES 4285section. 4286Attributes are ignored. 4287.Pp 4288.It Ic popup-border-style Ar style 4289Set the popup border style. 4290For how to specify 4291.Ar style , 4292see the 4293.Sx STYLES 4294section. 4295Attributes are ignored. 4296.Pp 4297.It Ic popup-border-lines Ar type 4298Set the type of characters used for drawing popup borders. 4299.Ar type 4300may be one of: 4301.Bl -tag -width Ds 4302.It single 4303single lines using ACS or UTF-8 characters (default) 4304.It rounded 4305variation of single with rounded corners using UTF-8 characters 4306.It double 4307double lines using UTF-8 characters 4308.It heavy 4309heavy lines using UTF-8 characters 4310.It simple 4311simple ASCII characters 4312.It padded 4313simple ASCII space character 4314.It none 4315no border 4316.El 4317.Pp 4318.Ql double 4319and 4320.Ql heavy 4321will fall back to standard ACS line drawing when UTF-8 is not supported. 4322.Pp 4323.It Ic window-status-activity-style Ar style 4324Set status line style for windows with an activity alert. 4325For how to specify 4326.Ar style , 4327see the 4328.Sx STYLES 4329section. 4330.Pp 4331.It Ic window-status-bell-style Ar style 4332Set status line style for windows with a bell alert. 4333For how to specify 4334.Ar style , 4335see the 4336.Sx STYLES 4337section. 4338.Pp 4339.It Ic window-status-current-format Ar string 4340Like 4341.Ar window-status-format , 4342but is the format used when the window is the current window. 4343.Pp 4344.It Ic window-status-current-style Ar style 4345Set status line style for the currently active window. 4346For how to specify 4347.Ar style , 4348see the 4349.Sx STYLES 4350section. 4351.Pp 4352.It Ic window-status-format Ar string 4353Set the format in which the window is displayed in the status line window list. 4354See the 4355.Sx FORMATS 4356and 4357.Sx STYLES 4358sections. 4359.Pp 4360.It Ic window-status-last-style Ar style 4361Set status line style for the last active window. 4362For how to specify 4363.Ar style , 4364see the 4365.Sx STYLES 4366section. 4367.Pp 4368.It Ic window-status-separator Ar string 4369Sets the separator drawn between windows in the status line. 4370The default is a single space character. 4371.Pp 4372.It Ic window-status-style Ar style 4373Set status line style for a single window. 4374For how to specify 4375.Ar style , 4376see the 4377.Sx STYLES 4378section. 4379.Pp 4380.It Xo Ic window-size 4381.Ar largest | Ar smallest | Ar manual | Ar latest 4382.Xc 4383Configure how 4384.Nm 4385determines the window size. 4386If set to 4387.Ar largest , 4388the size of the largest attached session is used; if 4389.Ar smallest , 4390the size of the smallest. 4391If 4392.Ar manual , 4393the size of a new window is set from the 4394.Ic default-size 4395option and windows are resized automatically. 4396With 4397.Ar latest , 4398.Nm 4399uses the size of the client that had the most recent activity. 4400See also the 4401.Ic resize-window 4402command and the 4403.Ic aggressive-resize 4404option. 4405.Pp 4406.It Xo Ic wrap-search 4407.Op Ic on | off 4408.Xc 4409If this option is set, searches will wrap around the end of the pane contents. 4410The default is on. 4411.El 4412.Pp 4413Available pane options are: 4414.Pp 4415.Bl -tag -width Ds -compact 4416.It Xo Ic allow-passthrough 4417.Op Ic on | off 4418.Xc 4419Allow programs in the pane to bypass 4420.Nm 4421using a terminal escape sequence (\eePtmux;...\ee\e\e). 4422.Pp 4423.It Xo Ic allow-rename 4424.Op Ic on | off 4425.Xc 4426Allow programs in the pane to change the window name using a terminal escape 4427sequence (\eek...\ee\e\e). 4428.Pp 4429.It Xo Ic alternate-screen 4430.Op Ic on | off 4431.Xc 4432This option configures whether programs running inside the pane may use the 4433terminal alternate screen feature, which allows the 4434.Em smcup 4435and 4436.Em rmcup 4437.Xr terminfo 5 4438capabilities. 4439The alternate screen feature preserves the contents of the window when an 4440interactive application starts and restores it on exit, so that any output 4441visible before the application starts reappears unchanged after it exits. 4442.Pp 4443.It Ic cursor-colour Ar colour 4444Set the colour of the cursor. 4445.Pp 4446.It Ic pane-colours[] Ar colour 4447The default colour palette. 4448Each entry in the array defines the colour 4449.Nm 4450uses when the colour with that index is requested. 4451The index may be from zero to 255. 4452.Pp 4453.It Ic cursor-style Ar style 4454Set the style of the cursor. 4455Available styles are: 4456.Ic default , 4457.Ic blinking-block , 4458.Ic block , 4459.Ic blinking-underline , 4460.Ic underline , 4461.Ic blinking-bar , 4462.Ic bar . 4463.Pp 4464.It Xo Ic remain-on-exit 4465.Op Ic on | off | failed 4466.Xc 4467A pane with this flag set is not destroyed when the program running in it 4468exits. 4469If set to 4470.Ic failed , 4471then only when the program exit status is not zero. 4472The pane may be reactivated with the 4473.Ic respawn-pane 4474command. 4475.Pp 4476.It Ic remain-on-exit-format Ar string 4477Set the text shown at the bottom of exited panes when 4478.Ic remain-on-exit 4479is enabled. 4480.Pp 4481.It Xo Ic scroll-on-clear 4482.Op Ic on | off 4483.Xc 4484When the entire screen is cleared and this option is on, scroll the contents of 4485the screen into history before clearing it. 4486.Pp 4487.It Xo Ic synchronize-panes 4488.Op Ic on | off 4489.Xc 4490Duplicate input to all other panes in the same window where this option is also 4491on (only for panes that are not in any mode). 4492.Pp 4493.It Ic window-active-style Ar style 4494Set the pane style when it is the active pane. 4495For how to specify 4496.Ar style , 4497see the 4498.Sx STYLES 4499section. 4500.Pp 4501.It Ic window-style Ar style 4502Set the pane style. 4503For how to specify 4504.Ar style , 4505see the 4506.Sx STYLES 4507section. 4508.El 4509.Sh HOOKS 4510.Nm 4511allows commands to run on various triggers, called 4512.Em hooks . 4513Most 4514.Nm 4515commands have an 4516.Em after 4517hook and there are a number of hooks not associated with commands. 4518.Pp 4519Hooks are stored as array options, members of the array are executed in 4520order when the hook is triggered. 4521Like options different hooks may be global or belong to a session, window or pane. 4522Hooks may be configured with the 4523.Ic set-hook 4524or 4525.Ic set-option 4526commands and displayed with 4527.Ic show-hooks 4528or 4529.Ic show-options 4530.Fl H . 4531The following two commands are equivalent: 4532.Bd -literal -offset indent. 4533set-hook -g pane-mode-changed[42] 'set -g status-left-style bg=red' 4534set-option -g pane-mode-changed[42] 'set -g status-left-style bg=red' 4535.Ed 4536.Pp 4537Setting a hook without specifying an array index clears the hook and sets the 4538first member of the array. 4539.Pp 4540A command's after 4541hook is run after it completes, except when the command is run as part of a hook 4542itself. 4543They are named with an 4544.Ql after- 4545prefix. 4546For example, the following command adds a hook to select the even-vertical 4547layout after every 4548.Ic split-window : 4549.Bd -literal -offset indent 4550set-hook -g after-split-window "selectl even-vertical" 4551.Ed 4552.Pp 4553All the notifications listed in the 4554.Sx CONTROL MODE 4555section are hooks (without any arguments), except 4556.Ic %exit . 4557The following additional hooks are available: 4558.Bl -tag -width "XXXXXXXXXXXXXXXXXXXXXX" 4559.It alert-activity 4560Run when a window has activity. 4561See 4562.Ic monitor-activity . 4563.It alert-bell 4564Run when a window has received a bell. 4565See 4566.Ic monitor-bell . 4567.It alert-silence 4568Run when a window has been silent. 4569See 4570.Ic monitor-silence . 4571.It client-active 4572Run when a client becomes the latest active client of its session. 4573.It client-attached 4574Run when a client is attached. 4575.It client-detached 4576Run when a client is detached 4577.It client-focus-in 4578Run when focus enters a client 4579.It client-focus-out 4580Run when focus exits a client 4581.It client-resized 4582Run when a client is resized. 4583.It client-session-changed 4584Run when a client's attached session is changed. 4585.It pane-died 4586Run when the program running in a pane exits, but 4587.Ic remain-on-exit 4588is on so the pane has not closed. 4589.It pane-exited 4590Run when the program running in a pane exits. 4591.It pane-focus-in 4592Run when the focus enters a pane, if the 4593.Ic focus-events 4594option is on. 4595.It pane-focus-out 4596Run when the focus exits a pane, if the 4597.Ic focus-events 4598option is on. 4599.It pane-set-clipboard 4600Run when the terminal clipboard is set using the 4601.Xr xterm 1 4602escape sequence. 4603.It session-created 4604Run when a new session created. 4605.It session-closed 4606Run when a session closed. 4607.It session-renamed 4608Run when a session is renamed. 4609.It window-linked 4610Run when a window is linked into a session. 4611.It window-renamed 4612Run when a window is renamed. 4613.It window-resized 4614Run when a window is resized. 4615This may be after the 4616.Ar client-resized 4617hook is run. 4618.It window-unlinked 4619Run when a window is unlinked from a session. 4620.El 4621.Pp 4622Hooks are managed with these commands: 4623.Bl -tag -width Ds 4624.It Xo Ic set-hook 4625.Op Fl agpRuw 4626.Op Fl t Ar target-pane 4627.Ar hook-name 4628.Ar command 4629.Xc 4630Without 4631.Fl R , 4632sets (or with 4633.Fl u 4634unsets) hook 4635.Ar hook-name 4636to 4637.Ar command . 4638The flags are the same as for 4639.Ic set-option . 4640.Pp 4641With 4642.Fl R , 4643run 4644.Ar hook-name 4645immediately. 4646.It Xo Ic show-hooks 4647.Op Fl gpw 4648.Op Fl t Ar target-pane 4649.Xc 4650Shows hooks. 4651The flags are the same as for 4652.Ic show-options . 4653.El 4654.Sh MOUSE SUPPORT 4655If the 4656.Ic mouse 4657option is on (the default is off), 4658.Nm 4659allows mouse events to be bound as keys. 4660The name of each key is made up of a mouse event (such as 4661.Ql MouseUp1 ) 4662and a location suffix, one of the following: 4663.Bl -column "XXXXXXXXXXXXX" -offset indent 4664.It Li "Pane" Ta "the contents of a pane" 4665.It Li "Border" Ta "a pane border" 4666.It Li "Status" Ta "the status line window list" 4667.It Li "StatusLeft" Ta "the left part of the status line" 4668.It Li "StatusRight" Ta "the right part of the status line" 4669.It Li "StatusDefault" Ta "any other part of the status line" 4670.El 4671.Pp 4672The following mouse events are available: 4673.Bl -column "MouseDown1" "MouseDrag1" "WheelDown" -offset indent 4674.It Li "WheelUp" Ta "WheelDown" Ta "" 4675.It Li "MouseDown1" Ta "MouseUp1" Ta "MouseDrag1" Ta "MouseDragEnd1" 4676.It Li "MouseDown2" Ta "MouseUp2" Ta "MouseDrag2" Ta "MouseDragEnd2" 4677.It Li "MouseDown3" Ta "MouseUp3" Ta "MouseDrag3" Ta "MouseDragEnd3" 4678.It Li "SecondClick1" Ta "SecondClick2" Ta "SecondClick3" 4679.It Li "DoubleClick1" Ta "DoubleClick2" Ta "DoubleClick3" 4680.It Li "TripleClick1" Ta "TripleClick2" Ta "TripleClick3" 4681.El 4682.Pp 4683The 4684.Ql SecondClick 4685events are fired for the second click of a double click, even if there may be a 4686third click which will fire 4687.Ql TripleClick 4688instead of 4689.Ql DoubleClick . 4690.Pp 4691Each should be suffixed with a location, for example 4692.Ql MouseDown1Status . 4693.Pp 4694The special token 4695.Ql {mouse} 4696or 4697.Ql = 4698may be used as 4699.Ar target-window 4700or 4701.Ar target-pane 4702in commands bound to mouse key bindings. 4703It resolves to the window or pane over which the mouse event took place 4704(for example, the window in the status line over which button 1 was released for a 4705.Ql MouseUp1Status 4706binding, or the pane over which the wheel was scrolled for a 4707.Ql WheelDownPane 4708binding). 4709.Pp 4710The 4711.Ic send-keys 4712.Fl M 4713flag may be used to forward a mouse event to a pane. 4714.Pp 4715The default key bindings allow the mouse to be used to select and resize panes, 4716to copy text and to change window using the status line. 4717These take effect if the 4718.Ic mouse 4719option is turned on. 4720.Sh FORMATS 4721Certain commands accept the 4722.Fl F 4723flag with a 4724.Ar format 4725argument. 4726This is a string which controls the output format of the command. 4727Format variables are enclosed in 4728.Ql #{ 4729and 4730.Ql } , 4731for example 4732.Ql #{session_name} . 4733The possible variables are listed in the table below, or the name of a 4734.Nm 4735option may be used for an option's value. 4736Some variables have a shorter alias such as 4737.Ql #S ; 4738.Ql ## 4739is replaced by a single 4740.Ql # , 4741.Ql #, 4742by a 4743.Ql \&, 4744and 4745.Ql #} 4746by a 4747.Ql } . 4748.Pp 4749Conditionals are available by prefixing with 4750.Ql \&? 4751and separating two alternatives with a comma; 4752if the specified variable exists and is not zero, the first alternative 4753is chosen, otherwise the second is used. 4754For example 4755.Ql #{?session_attached,attached,not attached} 4756will include the string 4757.Ql attached 4758if the session is attached and the string 4759.Ql not attached 4760if it is unattached, or 4761.Ql #{?automatic-rename,yes,no} 4762will include 4763.Ql yes 4764if 4765.Ic automatic-rename 4766is enabled, or 4767.Ql no 4768if not. 4769Conditionals can be nested arbitrarily. 4770Inside a conditional, 4771.Ql \&, 4772and 4773.Ql } 4774must be escaped as 4775.Ql #, 4776and 4777.Ql #} , 4778unless they are part of a 4779.Ql #{...} 4780replacement. 4781For example: 4782.Bd -literal -offset indent 4783#{?pane_in_mode,#[fg=white#,bg=red],#[fg=red#,bg=white]}#W . 4784.Ed 4785.Pp 4786String comparisons may be expressed by prefixing two comma-separated 4787alternatives by 4788.Ql == , 4789.Ql != , 4790.Ql < , 4791.Ql > , 4792.Ql <= 4793or 4794.Ql >= 4795and a colon. 4796For example 4797.Ql #{==:#{host},myhost} 4798will be replaced by 4799.Ql 1 4800if running on 4801.Ql myhost , 4802otherwise by 4803.Ql 0 . 4804.Ql || 4805and 4806.Ql && 4807evaluate to true if either or both of two comma-separated alternatives are 4808true, for example 4809.Ql #{||:#{pane_in_mode},#{alternate_on}} . 4810.Pp 4811An 4812.Ql m 4813specifies an 4814.Xr fnmatch 3 4815or regular expression comparison. 4816The first argument is the pattern and the second the string to compare. 4817An optional argument specifies flags: 4818.Ql r 4819means the pattern is a regular expression instead of the default 4820.Xr fnmatch 3 4821pattern, and 4822.Ql i 4823means to ignore case. 4824For example: 4825.Ql #{m:*foo*,#{host}} 4826or 4827.Ql #{m/ri:^A,MYVAR} . 4828A 4829.Ql C 4830performs a search for an 4831.Xr fnmatch 3 4832pattern or regular expression in the pane content and evaluates to zero if not 4833found, or a line number if found. 4834Like 4835.Ql m , 4836an 4837.Ql r 4838flag means search for a regular expression and 4839.Ql i 4840ignores case. 4841For example: 4842.Ql #{C/r:^Start} 4843.Pp 4844Numeric operators may be performed by prefixing two comma-separated alternatives with an 4845.Ql e 4846and an operator. 4847An optional 4848.Ql f 4849flag may be given after the operator to use floating point numbers, otherwise integers are used. 4850This may be followed by a number giving the number of decimal places to use for the result. 4851The available operators are: 4852addition 4853.Ql + , 4854subtraction 4855.Ql - , 4856multiplication 4857.Ql * , 4858division 4859.Ql / , 4860modulus 4861.Ql m 4862or 4863.Ql % 4864(note that 4865.Ql % 4866must be escaped as 4867.Ql %% 4868in formats which are also expanded by 4869.Xr strftime 3 ) 4870and numeric comparison operators 4871.Ql == , 4872.Ql != , 4873.Ql < , 4874.Ql <= , 4875.Ql > 4876and 4877.Ql >= . 4878For example, 4879.Ql #{e|*|f|4:5.5,3} 4880multiplies 5.5 by 3 for a result with four decimal places and 4881.Ql #{e|%%:7,3} 4882returns the modulus of 7 and 3. 4883.Ql a 4884replaces a numeric argument by its ASCII equivalent, so 4885.Ql #{a:98} 4886results in 4887.Ql b . 4888.Ql c 4889replaces a 4890.Nm 4891colour by its six-digit hexadecimal RGB value. 4892.Pp 4893A limit may be placed on the length of the resultant string by prefixing it 4894by an 4895.Ql = , 4896a number and a colon. 4897Positive numbers count from the start of the string and negative from the end, 4898so 4899.Ql #{=5:pane_title} 4900will include at most the first five characters of the pane title, or 4901.Ql #{=-5:pane_title} 4902the last five characters. 4903A suffix or prefix may be given as a second argument - if provided then it is 4904appended or prepended to the string if the length has been trimmed, for example 4905.Ql #{=/5/...:pane_title} 4906will append 4907.Ql ... 4908if the pane title is more than five characters. 4909Similarly, 4910.Ql p 4911pads the string to a given width, for example 4912.Ql #{p10:pane_title} 4913will result in a width of at least 10 characters. 4914A positive width pads on the left, a negative on the right. 4915.Ql n 4916expands to the length of the variable and 4917.Ql w 4918to its width when displayed, for example 4919.Ql #{n:window_name} . 4920.Pp 4921Prefixing a time variable with 4922.Ql t:\& 4923will convert it to a string, so if 4924.Ql #{window_activity} 4925gives 4926.Ql 1445765102 , 4927.Ql #{t:window_activity} 4928gives 4929.Ql Sun Oct 25 09:25:02 2015 . 4930Adding 4931.Ql p ( 4932.Ql `t/p` ) 4933will use shorter but less accurate time format for times in the past. 4934A custom format may be given using an 4935.Ql f 4936suffix (note that 4937.Ql % 4938must be escaped as 4939.Ql %% 4940if the format is separately being passed through 4941.Xr strftime 3 , 4942for example in the 4943.Ic status-left 4944option): 4945.Ql #{t/f/%%H#:%%M:window_activity} , 4946see 4947.Xr strftime 3 . 4948.Pp 4949The 4950.Ql b:\& 4951and 4952.Ql d:\& 4953prefixes are 4954.Xr basename 3 4955and 4956.Xr dirname 3 4957of the variable respectively. 4958.Ql q:\& 4959will escape 4960.Xr sh 1 4961special characters or with a 4962.Ql h 4963suffix, escape hash characters (so 4964.Ql # 4965becomes 4966.Ql ## ) . 4967.Ql E:\& 4968will expand the format twice, for example 4969.Ql #{E:status-left} 4970is the result of expanding the content of the 4971.Ic status-left 4972option rather than the option itself. 4973.Ql T:\& 4974is like 4975.Ql E:\& 4976but also expands 4977.Xr strftime 3 4978specifiers. 4979.Ql S:\& , 4980.Ql W:\& 4981or 4982.Ql P:\& 4983will loop over each session, window or pane and insert the format once 4984for each. 4985For windows and panes, two comma-separated formats may be given: 4986the second is used for the current window or active pane. 4987For example, to get a list of windows formatted like the status line: 4988.Bd -literal -offset indent 4989#{W:#{E:window-status-format} ,#{E:window-status-current-format} } 4990.Ed 4991.Pp 4992.Ql N:\& 4993checks if a window (without any suffix or with the 4994.Ql w 4995suffix) or a session (with the 4996.Ql s 4997suffix) name exists, for example 4998.Ql `N/w:foo` 4999is replaced with 1 if a window named 5000.Ql foo 5001exists. 5002.Pp 5003A prefix of the form 5004.Ql s/foo/bar/:\& 5005will substitute 5006.Ql foo 5007with 5008.Ql bar 5009throughout. 5010The first argument may be an extended regular expression and a final argument may be 5011.Ql i 5012to ignore case, for example 5013.Ql s/a(.)/\e1x/i:\& 5014would change 5015.Ql abABab 5016into 5017.Ql bxBxbx . 5018.Pp 5019In addition, the last line of a shell command's output may be inserted using 5020.Ql #() . 5021For example, 5022.Ql #(uptime) 5023will insert the system's uptime. 5024When constructing formats, 5025.Nm 5026does not wait for 5027.Ql #() 5028commands to finish; instead, the previous result from running the same command is used, 5029or a placeholder if the command has not been run before. 5030If the command hasn't exited, the most recent line of output will be used, but the status 5031line will not be updated more than once a second. 5032Commands are executed using 5033.Pa /bin/sh 5034and with the 5035.Nm 5036global environment set (see the 5037.Sx GLOBAL AND SESSION ENVIRONMENT 5038section). 5039.Pp 5040An 5041.Ql l 5042specifies that a string should be interpreted literally and not expanded. 5043For example 5044.Ql #{l:#{?pane_in_mode,yes,no}} 5045will be replaced by 5046.Ql #{?pane_in_mode,yes,no} . 5047.Pp 5048The following variables are available, where appropriate: 5049.Bl -column "XXXXXXXXXXXXXXXXXXX" "XXXXX" 5050.It Sy "Variable name" Ta Sy "Alias" Ta Sy "Replaced with" 5051.It Li "active_window_index" Ta "" Ta "Index of active window in session" 5052.It Li "alternate_on" Ta "" Ta "1 if pane is in alternate screen" 5053.It Li "alternate_saved_x" Ta "" Ta "Saved cursor X in alternate screen" 5054.It Li "alternate_saved_y" Ta "" Ta "Saved cursor Y in alternate screen" 5055.It Li "buffer_created" Ta "" Ta "Time buffer created" 5056.It Li "buffer_name" Ta "" Ta "Name of buffer" 5057.It Li "buffer_sample" Ta "" Ta "Sample of start of buffer" 5058.It Li "buffer_size" Ta "" Ta "Size of the specified buffer in bytes" 5059.It Li "client_activity" Ta "" Ta "Time client last had activity" 5060.It Li "client_cell_height" Ta "" Ta "Height of each client cell in pixels" 5061.It Li "client_cell_width" Ta "" Ta "Width of each client cell in pixels" 5062.It Li "client_control_mode" Ta "" Ta "1 if client is in control mode" 5063.It Li "client_created" Ta "" Ta "Time client created" 5064.It Li "client_discarded" Ta "" Ta "Bytes discarded when client behind" 5065.It Li "client_flags" Ta "" Ta "List of client flags" 5066.It Li "client_height" Ta "" Ta "Height of client" 5067.It Li "client_key_table" Ta "" Ta "Current key table" 5068.It Li "client_last_session" Ta "" Ta "Name of the client's last session" 5069.It Li "client_name" Ta "" Ta "Name of client" 5070.It Li "client_pid" Ta "" Ta "PID of client process" 5071.It Li "client_prefix" Ta "" Ta "1 if prefix key has been pressed" 5072.It Li "client_readonly" Ta "" Ta "1 if client is readonly" 5073.It Li "client_session" Ta "" Ta "Name of the client's session" 5074.It Li "client_termfeatures" Ta "" Ta "Terminal features of client, if any" 5075.It Li "client_termname" Ta "" Ta "Terminal name of client" 5076.It Li "client_termtype" Ta "" Ta "Terminal type of client, if available" 5077.It Li "client_tty" Ta "" Ta "Pseudo terminal of client" 5078.It Li "client_uid" Ta "" Ta "UID of client process" 5079.It Li "client_user" Ta "" Ta "User of client process" 5080.It Li "client_utf8" Ta "" Ta "1 if client supports UTF-8" 5081.It Li "client_width" Ta "" Ta "Width of client" 5082.It Li "client_written" Ta "" Ta "Bytes written to client" 5083.It Li "command" Ta "" Ta "Name of command in use, if any" 5084.It Li "command_list_alias" Ta "" Ta "Command alias if listing commands" 5085.It Li "command_list_name" Ta "" Ta "Command name if listing commands" 5086.It Li "command_list_usage" Ta "" Ta "Command usage if listing commands" 5087.It Li "config_files" Ta "" Ta "List of configuration files loaded" 5088.It Li "copy_cursor_line" Ta "" Ta "Line the cursor is on in copy mode" 5089.It Li "copy_cursor_word" Ta "" Ta "Word under cursor in copy mode" 5090.It Li "copy_cursor_x" Ta "" Ta "Cursor X position in copy mode" 5091.It Li "copy_cursor_y" Ta "" Ta "Cursor Y position in copy mode" 5092.It Li "current_file" Ta "" Ta "Current configuration file" 5093.It Li "cursor_character" Ta "" Ta "Character at cursor in pane" 5094.It Li "cursor_flag" Ta "" Ta "Pane cursor flag" 5095.It Li "cursor_x" Ta "" Ta "Cursor X position in pane" 5096.It Li "cursor_y" Ta "" Ta "Cursor Y position in pane" 5097.It Li "history_bytes" Ta "" Ta "Number of bytes in window history" 5098.It Li "history_limit" Ta "" Ta "Maximum window history lines" 5099.It Li "history_size" Ta "" Ta "Size of history in lines" 5100.It Li "hook" Ta "" Ta "Name of running hook, if any" 5101.It Li "hook_client" Ta "" Ta "Name of client where hook was run, if any" 5102.It Li "hook_pane" Ta "" Ta "ID of pane where hook was run, if any" 5103.It Li "hook_session" Ta "" Ta "ID of session where hook was run, if any" 5104.It Li "hook_session_name" Ta "" Ta "Name of session where hook was run, if any" 5105.It Li "hook_window" Ta "" Ta "ID of window where hook was run, if any" 5106.It Li "hook_window_name" Ta "" Ta "Name of window where hook was run, if any" 5107.It Li "host" Ta "#H" Ta "Hostname of local host" 5108.It Li "host_short" Ta "#h" Ta "Hostname of local host (no domain name)" 5109.It Li "insert_flag" Ta "" Ta "Pane insert flag" 5110.It Li "keypad_cursor_flag" Ta "" Ta "Pane keypad cursor flag" 5111.It Li "keypad_flag" Ta "" Ta "Pane keypad flag" 5112.It Li "last_window_index" Ta "" Ta "Index of last window in session" 5113.It Li "line" Ta "" Ta "Line number in the list" 5114.It Li "mouse_all_flag" Ta "" Ta "Pane mouse all flag" 5115.It Li "mouse_any_flag" Ta "" Ta "Pane mouse any flag" 5116.It Li "mouse_button_flag" Ta "" Ta "Pane mouse button flag" 5117.It Li "mouse_line" Ta "" Ta "Line under mouse, if any" 5118.It Li "mouse_sgr_flag" Ta "" Ta "Pane mouse SGR flag" 5119.It Li "mouse_standard_flag" Ta "" Ta "Pane mouse standard flag" 5120.It Li "mouse_utf8_flag" Ta "" Ta "Pane mouse UTF-8 flag" 5121.It Li "mouse_word" Ta "" Ta "Word under mouse, if any" 5122.It Li "mouse_x" Ta "" Ta "Mouse X position, if any" 5123.It Li "mouse_y" Ta "" Ta "Mouse Y position, if any" 5124.It Li "next_session_id" Ta "" Ta "Unique session ID for next new session" 5125.It Li "origin_flag" Ta "" Ta "Pane origin flag" 5126.It Li "pane_active" Ta "" Ta "1 if active pane" 5127.It Li "pane_at_bottom" Ta "" Ta "1 if pane is at the bottom of window" 5128.It Li "pane_at_left" Ta "" Ta "1 if pane is at the left of window" 5129.It Li "pane_at_right" Ta "" Ta "1 if pane is at the right of window" 5130.It Li "pane_at_top" Ta "" Ta "1 if pane is at the top of window" 5131.It Li "pane_bg" Ta "" Ta "Pane background colour" 5132.It Li "pane_bottom" Ta "" Ta "Bottom of pane" 5133.It Li "pane_current_command" Ta "" Ta "Current command if available" 5134.It Li "pane_current_path" Ta "" Ta "Current path if available" 5135.It Li "pane_dead" Ta "" Ta "1 if pane is dead" 5136.It Li "pane_dead_signal" Ta "" Ta "Exit signal of process in dead pane" 5137.It Li "pane_dead_status" Ta "" Ta "Exit status of process in dead pane" 5138.It Li "pane_dead_time" Ta "" Ta "Exit time of process in dead pane" 5139.It Li "pane_fg" Ta "" Ta "Pane foreground colour" 5140.It Li "pane_format" Ta "" Ta "1 if format is for a pane" 5141.It Li "pane_height" Ta "" Ta "Height of pane" 5142.It Li "pane_id" Ta "#D" Ta "Unique pane ID" 5143.It Li "pane_in_mode" Ta "" Ta "1 if pane is in a mode" 5144.It Li "pane_index" Ta "#P" Ta "Index of pane" 5145.It Li "pane_input_off" Ta "" Ta "1 if input to pane is disabled" 5146.It Li "pane_last" Ta "" Ta "1 if last pane" 5147.It Li "pane_left" Ta "" Ta "Left of pane" 5148.It Li "pane_marked" Ta "" Ta "1 if this is the marked pane" 5149.It Li "pane_marked_set" Ta "" Ta "1 if a marked pane is set" 5150.It Li "pane_mode" Ta "" Ta "Name of pane mode, if any" 5151.It Li "pane_path" Ta "" Ta "Path of pane (can be set by application)" 5152.It Li "pane_pid" Ta "" Ta "PID of first process in pane" 5153.It Li "pane_pipe" Ta "" Ta "1 if pane is being piped" 5154.It Li "pane_right" Ta "" Ta "Right of pane" 5155.It Li "pane_search_string" Ta "" Ta "Last search string in copy mode" 5156.It Li "pane_start_command" Ta "" Ta "Command pane started with" 5157.It Li "pane_synchronized" Ta "" Ta "1 if pane is synchronized" 5158.It Li "pane_tabs" Ta "" Ta "Pane tab positions" 5159.It Li "pane_title" Ta "#T" Ta "Title of pane (can be set by application)" 5160.It Li "pane_top" Ta "" Ta "Top of pane" 5161.It Li "pane_tty" Ta "" Ta "Pseudo terminal of pane" 5162.It Li "pane_width" Ta "" Ta "Width of pane" 5163.It Li "pid" Ta "" Ta "Server PID" 5164.It Li "rectangle_toggle" Ta "" Ta "1 if rectangle selection is activated" 5165.It Li "scroll_position" Ta "" Ta "Scroll position in copy mode" 5166.It Li "scroll_region_lower" Ta "" Ta "Bottom of scroll region in pane" 5167.It Li "scroll_region_upper" Ta "" Ta "Top of scroll region in pane" 5168.It Li "search_match" Ta "" Ta "Search match if any" 5169.It Li "search_present" Ta "" Ta "1 if search started in copy mode" 5170.It Li "selection_active" Ta "" Ta "1 if selection started and changes with the cursor in copy mode" 5171.It Li "selection_end_x" Ta "" Ta "X position of the end of the selection" 5172.It Li "selection_end_y" Ta "" Ta "Y position of the end of the selection" 5173.It Li "selection_present" Ta "" Ta "1 if selection started in copy mode" 5174.It Li "selection_start_x" Ta "" Ta "X position of the start of the selection" 5175.It Li "selection_start_y" Ta "" Ta "Y position of the start of the selection" 5176.It Li "session_activity" Ta "" Ta "Time of session last activity" 5177.It Li "session_alerts" Ta "" Ta "List of window indexes with alerts" 5178.It Li "session_attached" Ta "" Ta "Number of clients session is attached to" 5179.It Li "session_attached_list" Ta "" Ta "List of clients session is attached to" 5180.It Li "session_created" Ta "" Ta "Time session created" 5181.It Li "session_format" Ta "" Ta "1 if format is for a session" 5182.It Li "session_group" Ta "" Ta "Name of session group" 5183.It Li "session_group_attached" Ta "" Ta "Number of clients sessions in group are attached to" 5184.It Li "session_group_attached_list" Ta "" Ta "List of clients sessions in group are attached to" 5185.It Li "session_group_list" Ta "" Ta "List of sessions in group" 5186.It Li "session_group_many_attached" Ta "" Ta "1 if multiple clients attached to sessions in group" 5187.It Li "session_group_size" Ta "" Ta "Size of session group" 5188.It Li "session_grouped" Ta "" Ta "1 if session in a group" 5189.It Li "session_id" Ta "" Ta "Unique session ID" 5190.It Li "session_last_attached" Ta "" Ta "Time session last attached" 5191.It Li "session_many_attached" Ta "" Ta "1 if multiple clients attached" 5192.It Li "session_marked" Ta "" Ta "1 if this session contains the marked pane" 5193.It Li "session_name" Ta "#S" Ta "Name of session" 5194.It Li "session_path" Ta "" Ta "Working directory of session" 5195.It Li "session_stack" Ta "" Ta "Window indexes in most recent order" 5196.It Li "session_windows" Ta "" Ta "Number of windows in session" 5197.It Li "socket_path" Ta "" Ta "Server socket path" 5198.It Li "start_time" Ta "" Ta "Server start time" 5199.It Li "uid" Ta "" Ta "Server UID" 5200.It Li "user" Ta "" Ta "Server user" 5201.It Li "version" Ta "" Ta "Server version" 5202.It Li "window_active" Ta "" Ta "1 if window active" 5203.It Li "window_active_clients" Ta "" Ta "Number of clients viewing this window" 5204.It Li "window_active_clients_list" Ta "" Ta "List of clients viewing this window" 5205.It Li "window_active_sessions" Ta "" Ta "Number of sessions on which this window is active" 5206.It Li "window_active_sessions_list" Ta "" Ta "List of sessions on which this window is active" 5207.It Li "window_activity" Ta "" Ta "Time of window last activity" 5208.It Li "window_activity_flag" Ta "" Ta "1 if window has activity" 5209.It Li "window_bell_flag" Ta "" Ta "1 if window has bell" 5210.It Li "window_bigger" Ta "" Ta "1 if window is larger than client" 5211.It Li "window_cell_height" Ta "" Ta "Height of each cell in pixels" 5212.It Li "window_cell_width" Ta "" Ta "Width of each cell in pixels" 5213.It Li "window_end_flag" Ta "" Ta "1 if window has the highest index" 5214.It Li "window_flags" Ta "#F" Ta "Window flags with # escaped as ##" 5215.It Li "window_format" Ta "" Ta "1 if format is for a window" 5216.It Li "window_height" Ta "" Ta "Height of window" 5217.It Li "window_id" Ta "" Ta "Unique window ID" 5218.It Li "window_index" Ta "#I" Ta "Index of window" 5219.It Li "window_last_flag" Ta "" Ta "1 if window is the last used" 5220.It Li "window_layout" Ta "" Ta "Window layout description, ignoring zoomed window panes" 5221.It Li "window_linked" Ta "" Ta "1 if window is linked across sessions" 5222.It Li "window_linked_sessions" Ta "" Ta "Number of sessions this window is linked to" 5223.It Li "window_linked_sessions_list" Ta "" Ta "List of sessions this window is linked to" 5224.It Li "window_marked_flag" Ta "" Ta "1 if window contains the marked pane" 5225.It Li "window_name" Ta "#W" Ta "Name of window" 5226.It Li "window_offset_x" Ta "" Ta "X offset into window if larger than client" 5227.It Li "window_offset_y" Ta "" Ta "Y offset into window if larger than client" 5228.It Li "window_panes" Ta "" Ta "Number of panes in window" 5229.It Li "window_raw_flags" Ta "" Ta "Window flags with nothing escaped" 5230.It Li "window_silence_flag" Ta "" Ta "1 if window has silence alert" 5231.It Li "window_stack_index" Ta "" Ta "Index in session most recent stack" 5232.It Li "window_start_flag" Ta "" Ta "1 if window has the lowest index" 5233.It Li "window_visible_layout" Ta "" Ta "Window layout description, respecting zoomed window panes" 5234.It Li "window_width" Ta "" Ta "Width of window" 5235.It Li "window_zoomed_flag" Ta "" Ta "1 if window is zoomed" 5236.It Li "wrap_flag" Ta "" Ta "Pane wrap flag" 5237.El 5238.Sh STYLES 5239.Nm 5240offers various options to specify the colour and attributes of aspects of the 5241interface, for example 5242.Ic status-style 5243for the status line. 5244In addition, embedded styles may be specified in format options, such as 5245.Ic status-left , 5246by enclosing them in 5247.Ql #[ 5248and 5249.Ql \&] . 5250.Pp 5251A style may be the single term 5252.Ql default 5253to specify the default style (which may come from an option, for example 5254.Ic status-style 5255in the status line) or a space 5256or comma separated list of the following: 5257.Bl -tag -width Ds 5258.It Ic fg=colour 5259Set the foreground colour. 5260The colour is one of: 5261.Ic black , 5262.Ic red , 5263.Ic green , 5264.Ic yellow , 5265.Ic blue , 5266.Ic magenta , 5267.Ic cyan , 5268.Ic white ; 5269if supported the bright variants 5270.Ic brightred , 5271.Ic brightgreen , 5272.Ic brightyellow ; 5273.Ic colour0 5274to 5275.Ic colour255 5276from the 256-colour set; 5277.Ic default 5278for the default colour; 5279.Ic terminal 5280for the terminal default colour; or a hexadecimal RGB string such as 5281.Ql #ffffff . 5282.It Ic bg=colour 5283Set the background colour. 5284.It Ic none 5285Set no attributes (turn off any active attributes). 5286.It Xo Ic acs , 5287.Ic bright 5288(or 5289.Ic bold ) , 5290.Ic dim , 5291.Ic underscore , 5292.Ic blink , 5293.Ic reverse , 5294.Ic hidden , 5295.Ic italics , 5296.Ic overline , 5297.Ic strikethrough , 5298.Ic double-underscore , 5299.Ic curly-underscore , 5300.Ic dotted-underscore , 5301.Ic dashed-underscore 5302.Xc 5303Set an attribute. 5304Any of the attributes may be prefixed with 5305.Ql no 5306to unset. 5307.Ic acs 5308is the terminal alternate character set. 5309.It Xo Ic align=left 5310(or 5311.Ic noalign ) , 5312.Ic align=centre , 5313.Ic align=right 5314.Xc 5315Align text to the left, centre or right of the available space if appropriate. 5316.It Ic fill=colour 5317Fill the available space with a background colour if appropriate. 5318.It Xo Ic list=on , 5319.Ic list=focus , 5320.Ic list=left-marker , 5321.Ic list=right-marker , 5322.Ic nolist 5323.Xc 5324Mark the position of the various window list components in the 5325.Ic status-format 5326option: 5327.Ic list=on 5328marks the start of the list; 5329.Ic list=focus 5330is the part of the list that should be kept in focus if the entire list won't fit 5331in the available space (typically the current window); 5332.Ic list=left-marker 5333and 5334.Ic list=right-marker 5335mark the text to be used to mark that text has been trimmed from the left or 5336right of the list if there is not enough space. 5337.It Xo Ic push-default , 5338.Ic pop-default 5339.Xc 5340Store the current colours and attributes as the default or reset to the previous 5341default. 5342A 5343.Ic push-default 5344affects any subsequent use of the 5345.Ic default 5346term until a 5347.Ic pop-default . 5348Only one default may be pushed (each 5349.Ic push-default 5350replaces the previous saved default). 5351.It Xo Ic range=left , 5352.Ic range=right , 5353.Ic range=window|X , 5354.Ic norange 5355.Xc 5356Mark a range in the 5357.Ic status-format 5358option. 5359.Ic range=left 5360and 5361.Ic range=right 5362are the text used for the 5363.Ql StatusLeft 5364and 5365.Ql StatusRight 5366mouse keys. 5367.Ic range=window|X 5368is the range for a window passed to the 5369.Ql Status 5370mouse key, where 5371.Ql X 5372is a window index. 5373.El 5374.Pp 5375Examples are: 5376.Bd -literal -offset indent 5377fg=yellow bold underscore blink 5378bg=black,fg=default,noreverse 5379.Ed 5380.Sh NAMES AND TITLES 5381.Nm 5382distinguishes between names and titles. 5383Windows and sessions have names, which may be used to specify them in targets 5384and are displayed in the status line and various lists: the name is the 5385.Nm 5386identifier for a window or session. 5387Only panes have titles. 5388A pane's title is typically set by the program running inside the pane using 5389an escape sequence (like it would set the 5390.Xr xterm 1 5391window title in 5392.Xr X 7 ) . 5393Windows themselves do not have titles - a window's title is the title of its 5394active pane. 5395.Nm 5396itself may set the title of the terminal in which the client is running, see 5397the 5398.Ic set-titles 5399option. 5400.Pp 5401A session's name is set with the 5402.Ic new-session 5403and 5404.Ic rename-session 5405commands. 5406A window's name is set with one of: 5407.Bl -enum -width Ds 5408.It 5409A command argument (such as 5410.Fl n 5411for 5412.Ic new-window 5413or 5414.Ic new-session ) . 5415.It 5416An escape sequence (if the 5417.Ic allow-rename 5418option is turned on): 5419.Bd -literal -offset indent 5420$ printf '\e033kWINDOW_NAME\e033\e\e' 5421.Ed 5422.It 5423Automatic renaming, which sets the name to the active command in the window's 5424active pane. 5425See the 5426.Ic automatic-rename 5427option. 5428.El 5429.Pp 5430When a pane is first created, its title is the hostname. 5431A pane's title can be set via the title setting escape sequence, for example: 5432.Bd -literal -offset indent 5433$ printf '\e033]2;My Title\e033\e\e' 5434.Ed 5435.Pp 5436It can also be modified with the 5437.Ic select-pane 5438.Fl T 5439command. 5440.Sh GLOBAL AND SESSION ENVIRONMENT 5441When the server is started, 5442.Nm 5443copies the environment into the 5444.Em global environment ; 5445in addition, each session has a 5446.Em session environment . 5447When a window is created, the session and global environments are merged. 5448If a variable exists in both, the value from the session environment is used. 5449The result is the initial environment passed to the new process. 5450.Pp 5451The 5452.Ic update-environment 5453session option may be used to update the session environment from the client 5454when a new session is created or an old reattached. 5455.Nm 5456also initialises the 5457.Ev TMUX 5458variable with some internal information to allow commands to be executed 5459from inside, and the 5460.Ev TERM 5461variable with the correct terminal setting of 5462.Ql screen . 5463.Pp 5464Variables in both session and global environments may be marked as hidden. 5465Hidden variables are not passed into the environment of new processes and 5466instead can only be used by tmux itself (for example in formats, see the 5467.Sx FORMATS 5468section). 5469.Pp 5470Commands to alter and view the environment are: 5471.Bl -tag -width Ds 5472.Tg setenv 5473.It Xo Ic set-environment 5474.Op Fl Fhgru 5475.Op Fl t Ar target-session 5476.Ar name Op Ar value 5477.Xc 5478.D1 Pq alias: Ic setenv 5479Set or unset an environment variable. 5480If 5481.Fl g 5482is used, the change is made in the global environment; otherwise, it is applied 5483to the session environment for 5484.Ar target-session . 5485If 5486.Fl F 5487is present, then 5488.Ar value 5489is expanded as a format. 5490The 5491.Fl u 5492flag unsets a variable. 5493.Fl r 5494indicates the variable is to be removed from the environment before starting a 5495new process. 5496.Fl h 5497marks the variable as hidden. 5498.Tg showenv 5499.It Xo Ic show-environment 5500.Op Fl hgs 5501.Op Fl t Ar target-session 5502.Op Ar variable 5503.Xc 5504.D1 Pq alias: Ic showenv 5505Display the environment for 5506.Ar target-session 5507or the global environment with 5508.Fl g . 5509If 5510.Ar variable 5511is omitted, all variables are shown. 5512Variables removed from the environment are prefixed with 5513.Ql - . 5514If 5515.Fl s 5516is used, the output is formatted as a set of Bourne shell commands. 5517.Fl h 5518shows hidden variables (omitted by default). 5519.El 5520.Sh STATUS LINE 5521.Nm 5522includes an optional status line which is displayed in the bottom line of each 5523terminal. 5524.Pp 5525By default, the status line is enabled and one line in height (it may be 5526disabled or made multiple lines with the 5527.Ic status 5528session option) and contains, from left-to-right: the name of the current 5529session in square brackets; the window list; the title of the active pane 5530in double quotes; and the time and date. 5531.Pp 5532Each line of the status line is configured with the 5533.Ic status-format 5534option. 5535The default is made of three parts: configurable left and right sections (which 5536may contain dynamic content such as the time or output from a shell command, 5537see the 5538.Ic status-left , 5539.Ic status-left-length , 5540.Ic status-right , 5541and 5542.Ic status-right-length 5543options below), and a central window list. 5544By default, the window list shows the index, name and (if any) flag of the 5545windows present in the current session in ascending numerical order. 5546It may be customised with the 5547.Ar window-status-format 5548and 5549.Ar window-status-current-format 5550options. 5551The flag is one of the following symbols appended to the window name: 5552.Bl -column "Symbol" "Meaning" -offset indent 5553.It Sy "Symbol" Ta Sy "Meaning" 5554.It Li "*" Ta "Denotes the current window." 5555.It Li "-" Ta "Marks the last window (previously selected)." 5556.It Li "#" Ta "Window activity is monitored and activity has been detected." 5557.It Li "\&!" Ta "Window bells are monitored and a bell has occurred in the window." 5558.It Li "~" Ta "The window has been silent for the monitor-silence interval." 5559.It Li "M" Ta "The window contains the marked pane." 5560.It Li "Z" Ta "The window's active pane is zoomed." 5561.El 5562.Pp 5563The # symbol relates to the 5564.Ic monitor-activity 5565window option. 5566The window name is printed in inverted colours if an alert (bell, activity or 5567silence) is present. 5568.Pp 5569The colour and attributes of the status line may be configured, the entire 5570status line using the 5571.Ic status-style 5572session option and individual windows using the 5573.Ic window-status-style 5574window option. 5575.Pp 5576The status line is automatically refreshed at interval if it has changed, the 5577interval may be controlled with the 5578.Ic status-interval 5579session option. 5580.Pp 5581Commands related to the status line are as follows: 5582.Bl -tag -width Ds 5583.Tg clearphist 5584.It Xo Ic clear-prompt-history 5585.Op Fl T Ar prompt-type 5586.Xc 5587.D1 Pq alias: Ic clearphist 5588Clear status prompt history for prompt type 5589.Ar prompt-type . 5590If 5591.Fl T 5592is omitted, then clear history for all types. 5593See 5594.Ic command-prompt 5595for possible values for 5596.Ar prompt-type . 5597.It Xo Ic command-prompt 5598.Op Fl 1bFikN 5599.Op Fl I Ar inputs 5600.Op Fl p Ar prompts 5601.Op Fl t Ar target-client 5602.Op Fl T Ar prompt-type 5603.Op Ar template 5604.Xc 5605Open the command prompt in a client. 5606This may be used from inside 5607.Nm 5608to execute commands interactively. 5609.Pp 5610If 5611.Ar template 5612is specified, it is used as the command. 5613With 5614.Fl F , 5615.Ar template 5616is expanded as a format. 5617.Pp 5618If present, 5619.Fl I 5620is a comma-separated list of the initial text for each prompt. 5621If 5622.Fl p 5623is given, 5624.Ar prompts 5625is a comma-separated list of prompts which are displayed in order; otherwise 5626a single prompt is displayed, constructed from 5627.Ar template 5628if it is present, or 5629.Ql \&: 5630if not. 5631.Pp 5632Before the command is executed, the first occurrence of the string 5633.Ql %% 5634and all occurrences of 5635.Ql %1 5636are replaced by the response to the first prompt, all 5637.Ql %2 5638are replaced with the response to the second prompt, and so on for further 5639prompts. 5640Up to nine prompt responses may be replaced 5641.Po 5642.Ql %1 5643to 5644.Ql %9 5645.Pc . 5646.Ql %%% 5647is like 5648.Ql %% 5649but any quotation marks are escaped. 5650.Pp 5651.Fl 1 5652makes the prompt only accept one key press, in this case the resulting input 5653is a single character. 5654.Fl k 5655is like 5656.Fl 1 5657but the key press is translated to a key name. 5658.Fl N 5659makes the prompt only accept numeric key presses. 5660.Fl i 5661executes the command every time the prompt input changes instead of when the 5662user exits the command prompt. 5663.Pp 5664.Fl T 5665tells 5666.Nm 5667the prompt type. 5668This affects what completions are offered when 5669.Em Tab 5670is pressed. 5671Available types are: 5672.Ql command , 5673.Ql search , 5674.Ql target 5675and 5676.Ql window-target . 5677.Pp 5678The following keys have a special meaning in the command prompt, depending 5679on the value of the 5680.Ic status-keys 5681option: 5682.Bl -column "FunctionXXXXXXXXXXXXXXXXXXXXXXXXX" "viXXXX" "emacsX" -offset indent 5683.It Sy "Function" Ta Sy "vi" Ta Sy "emacs" 5684.It Li "Cancel command prompt" Ta "q" Ta "Escape" 5685.It Li "Delete from cursor to start of word" Ta "" Ta "C-w" 5686.It Li "Delete entire command" Ta "d" Ta "C-u" 5687.It Li "Delete from cursor to end" Ta "D" Ta "C-k" 5688.It Li "Execute command" Ta "Enter" Ta "Enter" 5689.It Li "Get next command from history" Ta "" Ta "Down" 5690.It Li "Get previous command from history" Ta "" Ta "Up" 5691.It Li "Insert top paste buffer" Ta "p" Ta "C-y" 5692.It Li "Look for completions" Ta "Tab" Ta "Tab" 5693.It Li "Move cursor left" Ta "h" Ta "Left" 5694.It Li "Move cursor right" Ta "l" Ta "Right" 5695.It Li "Move cursor to end" Ta "$" Ta "C-e" 5696.It Li "Move cursor to next word" Ta "w" Ta "M-f" 5697.It Li "Move cursor to previous word" Ta "b" Ta "M-b" 5698.It Li "Move cursor to start" Ta "0" Ta "C-a" 5699.It Li "Transpose characters" Ta "" Ta "C-t" 5700.El 5701.Pp 5702With 5703.Fl b , 5704the prompt is shown in the background and the invoking client does not exit 5705until it is dismissed. 5706.Tg confirm 5707.It Xo Ic confirm-before 5708.Op Fl b 5709.Op Fl p Ar prompt 5710.Op Fl t Ar target-client 5711.Ar command 5712.Xc 5713.D1 Pq alias: Ic confirm 5714Ask for confirmation before executing 5715.Ar command . 5716If 5717.Fl p 5718is given, 5719.Ar prompt 5720is the prompt to display; otherwise a prompt is constructed from 5721.Ar command . 5722It may contain the special character sequences supported by the 5723.Ic status-left 5724option. 5725With 5726.Fl b , 5727the prompt is shown in the background and the invoking client does not exit 5728until it is dismissed. 5729.Tg menu 5730.It Xo Ic display-menu 5731.Op Fl O 5732.Op Fl c Ar target-client 5733.Op Fl t Ar target-pane 5734.Op Fl T Ar title 5735.Op Fl x Ar position 5736.Op Fl y Ar position 5737.Ar name 5738.Ar key 5739.Ar command 5740.Ar ... 5741.Xc 5742.D1 Pq alias: Ic menu 5743Display a menu on 5744.Ar target-client . 5745.Ar target-pane 5746gives the target for any commands run from the menu. 5747.Pp 5748A menu is passed as a series of arguments: first the menu item name, 5749second the key shortcut (or empty for none) and third the command 5750to run when the menu item is chosen. 5751The name and command are formats, see the 5752.Sx FORMATS 5753and 5754.Sx STYLES 5755sections. 5756If the name begins with a hyphen (-), then the item is disabled (shown dim) and 5757may not be chosen. 5758The name may be empty for a separator line, in which case both the key and 5759command should be omitted. 5760.Pp 5761.Fl T 5762is a format for the menu title (see 5763.Sx FORMATS ) . 5764.Pp 5765.Fl x 5766and 5767.Fl y 5768give the position of the menu. 5769Both may be a row or column number, or one of the following special values: 5770.Bl -column "XXXXX" "XXXX" -offset indent 5771.It Sy "Value" Ta Sy "Flag" Ta Sy "Meaning" 5772.It Li "C" Ta "Both" Ta "The centre of the terminal" 5773.It Li "R" Ta Fl x Ta "The right side of the terminal" 5774.It Li "P" Ta "Both" Ta "The bottom left of the pane" 5775.It Li "M" Ta "Both" Ta "The mouse position" 5776.It Li "W" Ta "Both" Ta "The window position on the status line" 5777.It Li "S" Ta Fl y Ta "The line above or below the status line" 5778.El 5779.Pp 5780Or a format, which is expanded including the following additional variables: 5781.Bl -column "XXXXXXXXXXXXXXXXXXXXXXXXXX" -offset indent 5782.It Sy "Variable name" Ta Sy "Replaced with" 5783.It Li "popup_centre_x" Ta "Centered in the client" 5784.It Li "popup_centre_y" Ta "Centered in the client" 5785.It Li "popup_height" Ta "Height of menu or popup" 5786.It Li "popup_mouse_bottom" Ta "Bottom of at the mouse" 5787.It Li "popup_mouse_centre_x" Ta "Horizontal centre at the mouse" 5788.It Li "popup_mouse_centre_y" Ta "Vertical centre at the mouse" 5789.It Li "popup_mouse_top" Ta "Top at the mouse" 5790.It Li "popup_mouse_x" Ta "Mouse X position" 5791.It Li "popup_mouse_y" Ta "Mouse Y position" 5792.It Li "popup_pane_bottom" Ta "Bottom of the pane" 5793.It Li "popup_pane_left" Ta "Left of the pane" 5794.It Li "popup_pane_right" Ta "Right of the pane" 5795.It Li "popup_pane_top" Ta "Top of the pane" 5796.It Li "popup_status_line_y" Ta "Above or below the status line" 5797.It Li "popup_width" Ta "Width of menu or popup" 5798.It Li "popup_window_status_line_x" Ta "At the window position in status line" 5799.It Li "popup_window_status_line_y" Ta "At the status line showing the window" 5800.El 5801.Pp 5802Each menu consists of items followed by a key shortcut shown in brackets. 5803If the menu is too large to fit on the terminal, it is not displayed. 5804Pressing the key shortcut chooses the corresponding item. 5805If the mouse is enabled and the menu is opened from a mouse key binding, 5806releasing the mouse button with an item selected chooses that item and 5807releasing the mouse button without an item selected closes the menu. 5808.Fl O 5809changes this behaviour so that the menu does not close when the mouse button is 5810released without an item selected the menu is not closed and a mouse button 5811must be clicked to choose an item. 5812.Pp 5813The following keys are also available: 5814.Bl -column "Key" "Function" -offset indent 5815.It Sy "Key" Ta Sy "Function" 5816.It Li "Enter" Ta "Choose selected item" 5817.It Li "Up" Ta "Select previous item" 5818.It Li "Down" Ta "Select next item" 5819.It Li "q" Ta "Exit menu" 5820.El 5821.Tg display 5822.It Xo Ic display-message 5823.Op Fl aINpv 5824.Op Fl c Ar target-client 5825.Op Fl d Ar delay 5826.Op Fl t Ar target-pane 5827.Op Ar message 5828.Xc 5829.D1 Pq alias: Ic display 5830Display a message. 5831If 5832.Fl p 5833is given, the output is printed to stdout, otherwise it is displayed in the 5834.Ar target-client 5835status line for up to 5836.Ar delay 5837milliseconds. 5838If 5839.Ar delay 5840is not given, the 5841.Ic message-time 5842option is used; a delay of zero waits for a key press. 5843.Ql N 5844ignores key presses and closes only after the delay expires. 5845The format of 5846.Ar message 5847is described in the 5848.Sx FORMATS 5849section; information is taken from 5850.Ar target-pane 5851if 5852.Fl t 5853is given, otherwise the active pane. 5854.Pp 5855.Fl v 5856prints verbose logging as the format is parsed and 5857.Fl a 5858lists the format variables and their values. 5859.Pp 5860.Fl I 5861forwards any input read from stdin to the empty pane given by 5862.Ar target-pane . 5863.Tg popup 5864.It Xo Ic display-popup 5865.Op Fl BCE 5866.Op Fl b Ar border-lines 5867.Op Fl c Ar target-client 5868.Op Fl d Ar start-directory 5869.Op Fl e Ar environment 5870.Op Fl h Ar height 5871.Op Fl s Ar style 5872.Op Fl S Ar border-style 5873.Op Fl t Ar target-pane 5874.Op Fl T Ar title 5875.Op Fl w Ar width 5876.Op Fl x Ar position 5877.Op Fl y Ar position 5878.Op Ar shell-command 5879.Xc 5880.D1 Pq alias: Ic popup 5881Display a popup running 5882.Ar shell-command 5883on 5884.Ar target-client . 5885A popup is a rectangular box drawn over the top of any panes. 5886Panes are not updated while a popup is present. 5887.Pp 5888.Fl E 5889closes the popup automatically when 5890.Ar shell-command 5891exits. 5892Two 5893.Fl E 5894closes the popup only if 5895.Ar shell-command 5896exited with success. 5897.Pp 5898.Fl x 5899and 5900.Fl y 5901give the position of the popup, they have the same meaning as for the 5902.Ic display-menu 5903command. 5904.Fl w 5905and 5906.Fl h 5907give the width and height - both may be a percentage (followed by 5908.Ql % ) . 5909If omitted, half of the terminal size is used. 5910.Pp 5911.Fl B 5912does not surround the popup by a border. 5913.Pp 5914.Fl b 5915sets the type of border line for the popup. 5916When 5917.Fl B 5918is specified, the 5919.Fl b 5920option is ignored. 5921See 5922.Ic popup-border-lines 5923for possible values for 5924.Ar border-lines . 5925.Pp 5926.Fl s 5927sets the style for the popup and 5928.Fl S 5929sets the style for the popup border. 5930For how to specify 5931.Ar style , 5932see the 5933.Sx STYLES 5934section. 5935.Pp 5936.Fl e 5937takes the form 5938.Ql VARIABLE=value 5939and sets an environment variable for the popup; it may be specified multiple 5940times. 5941.Pp 5942.Fl T 5943is a format for the popup title (see 5944.Sx FORMATS ) . 5945.Pp 5946The 5947.Fl C 5948flag closes any popup on the client. 5949.Tg showphist 5950.It Xo Ic show-prompt-history 5951.Op Fl T Ar prompt-type 5952.Xc 5953.D1 Pq alias: Ic showphist 5954Display status prompt history for prompt type 5955.Ar prompt-type . 5956If 5957.Fl T 5958is omitted, then show history for all types. 5959See 5960.Ic command-prompt 5961for possible values for 5962.Ar prompt-type . 5963.El 5964.Sh BUFFERS 5965.Nm 5966maintains a set of named 5967.Em paste buffers . 5968Each buffer may be either explicitly or automatically named. 5969Explicitly named buffers are named when created with the 5970.Ic set-buffer 5971or 5972.Ic load-buffer 5973commands, or by renaming an automatically named buffer with 5974.Ic set-buffer 5975.Fl n . 5976Automatically named buffers are given a name such as 5977.Ql buffer0001 , 5978.Ql buffer0002 5979and so on. 5980When the 5981.Ic buffer-limit 5982option is reached, the oldest automatically named buffer is deleted. 5983Explicitly named buffers are not subject to 5984.Ic buffer-limit 5985and may be deleted with the 5986.Ic delete-buffer 5987command. 5988.Pp 5989Buffers may be added using 5990.Ic copy-mode 5991or the 5992.Ic set-buffer 5993and 5994.Ic load-buffer 5995commands, and pasted into a window using the 5996.Ic paste-buffer 5997command. 5998If a buffer command is used and no buffer is specified, the most 5999recently added automatically named buffer is assumed. 6000.Pp 6001A configurable history buffer is also maintained for each window. 6002By default, up to 2000 lines are kept; this can be altered with the 6003.Ic history-limit 6004option (see the 6005.Ic set-option 6006command above). 6007.Pp 6008The buffer commands are as follows: 6009.Bl -tag -width Ds 6010.It Xo 6011.Ic choose-buffer 6012.Op Fl NZr 6013.Op Fl F Ar format 6014.Op Fl f Ar filter 6015.Op Fl K Ar key-format 6016.Op Fl O Ar sort-order 6017.Op Fl t Ar target-pane 6018.Op Ar template 6019.Xc 6020Put a pane into buffer mode, where a buffer may be chosen interactively from 6021a list. 6022Each buffer is shown on one line. 6023A shortcut key is shown on the left in brackets allowing for immediate choice, 6024or the list may be navigated and an item chosen or otherwise manipulated using 6025the keys below. 6026.Fl Z 6027zooms the pane. 6028The following keys may be used in buffer mode: 6029.Bl -column "Key" "Function" -offset indent 6030.It Sy "Key" Ta Sy "Function" 6031.It Li "Enter" Ta "Paste selected buffer" 6032.It Li "Up" Ta "Select previous buffer" 6033.It Li "Down" Ta "Select next buffer" 6034.It Li "C-s" Ta "Search by name or content" 6035.It Li "n" Ta "Repeat last search" 6036.It Li "t" Ta "Toggle if buffer is tagged" 6037.It Li "T" Ta "Tag no buffers" 6038.It Li "C-t" Ta "Tag all buffers" 6039.It Li "p" Ta "Paste selected buffer" 6040.It Li "P" Ta "Paste tagged buffers" 6041.It Li "d" Ta "Delete selected buffer" 6042.It Li "D" Ta "Delete tagged buffers" 6043.It Li "e" Ta "Open the buffer in an editor" 6044.It Li "f" Ta "Enter a format to filter items" 6045.It Li "O" Ta "Change sort field" 6046.It Li "r" Ta "Reverse sort order" 6047.It Li "v" Ta "Toggle preview" 6048.It Li "q" Ta "Exit mode" 6049.El 6050.Pp 6051After a buffer is chosen, 6052.Ql %% 6053is replaced by the buffer name in 6054.Ar template 6055and the result executed as a command. 6056If 6057.Ar template 6058is not given, "paste-buffer -b '%%'" is used. 6059.Pp 6060.Fl O 6061specifies the initial sort field: one of 6062.Ql time , 6063.Ql name 6064or 6065.Ql size . 6066.Fl r 6067reverses the sort order. 6068.Fl f 6069specifies an initial filter: the filter is a format - if it evaluates to zero, 6070the item in the list is not shown, otherwise it is shown. 6071If a filter would lead to an empty list, it is ignored. 6072.Fl F 6073specifies the format for each item in the list and 6074.Fl K 6075a format for each shortcut key; both are evaluated once for each line. 6076.Fl N 6077starts without the preview. 6078This command works only if at least one client is attached. 6079.Tg clearhist 6080.It Ic clear-history Op Fl t Ar target-pane 6081.D1 Pq alias: Ic clearhist 6082Remove and free the history for the specified pane. 6083.Tg deleteb 6084.It Ic delete-buffer Op Fl b Ar buffer-name 6085.D1 Pq alias: Ic deleteb 6086Delete the buffer named 6087.Ar buffer-name , 6088or the most recently added automatically named buffer if not specified. 6089.Tg lsb 6090.It Xo Ic list-buffers 6091.Op Fl F Ar format 6092.Op Fl f Ar filter 6093.Xc 6094.D1 Pq alias: Ic lsb 6095List the global buffers. 6096.Fl F 6097specifies the format of each line and 6098.Fl f 6099a filter. 6100Only buffers for which the filter is true are shown. 6101See the 6102.Sx FORMATS 6103section. 6104.It Xo Ic load-buffer 6105.Op Fl w 6106.Op Fl b Ar buffer-name 6107.Op Fl t Ar target-client 6108.Ar path 6109.Xc 6110.Tg loadb 6111.D1 Pq alias: Ic loadb 6112Load the contents of the specified paste buffer from 6113.Ar path . 6114If 6115.Fl w 6116is given, the buffer is also sent to the clipboard for 6117.Ar target-client 6118using the 6119.Xr xterm 1 6120escape sequence, if possible. 6121.Tg pasteb 6122.It Xo Ic paste-buffer 6123.Op Fl dpr 6124.Op Fl b Ar buffer-name 6125.Op Fl s Ar separator 6126.Op Fl t Ar target-pane 6127.Xc 6128.D1 Pq alias: Ic pasteb 6129Insert the contents of a paste buffer into the specified pane. 6130If not specified, paste into the current one. 6131With 6132.Fl d , 6133also delete the paste buffer. 6134When output, any linefeed (LF) characters in the paste buffer are replaced with 6135a separator, by default carriage return (CR). 6136A custom separator may be specified using the 6137.Fl s 6138flag. 6139The 6140.Fl r 6141flag means to do no replacement (equivalent to a separator of LF). 6142If 6143.Fl p 6144is specified, paste bracket control codes are inserted around the 6145buffer if the application has requested bracketed paste mode. 6146.Tg saveb 6147.It Xo Ic save-buffer 6148.Op Fl a 6149.Op Fl b Ar buffer-name 6150.Ar path 6151.Xc 6152.D1 Pq alias: Ic saveb 6153Save the contents of the specified paste buffer to 6154.Ar path . 6155The 6156.Fl a 6157option appends to rather than overwriting the file. 6158.It Xo Ic set-buffer 6159.Op Fl aw 6160.Op Fl b Ar buffer-name 6161.Op Fl t Ar target-client 6162.Tg setb 6163.Op Fl n Ar new-buffer-name 6164.Ar data 6165.Xc 6166.D1 Pq alias: Ic setb 6167Set the contents of the specified buffer to 6168.Ar data . 6169If 6170.Fl w 6171is given, the buffer is also sent to the clipboard for 6172.Ar target-client 6173using the 6174.Xr xterm 1 6175escape sequence, if possible. 6176The 6177.Fl a 6178option appends to rather than overwriting the buffer. 6179The 6180.Fl n 6181option renames the buffer to 6182.Ar new-buffer-name . 6183.Tg showb 6184.It Xo Ic show-buffer 6185.Op Fl b Ar buffer-name 6186.Xc 6187.D1 Pq alias: Ic showb 6188Display the contents of the specified buffer. 6189.El 6190.Sh MISCELLANEOUS 6191Miscellaneous commands are as follows: 6192.Bl -tag -width Ds 6193.It Ic clock-mode Op Fl t Ar target-pane 6194Display a large clock. 6195.Tg if 6196.It Xo Ic if-shell 6197.Op Fl bF 6198.Op Fl t Ar target-pane 6199.Ar shell-command command 6200.Op Ar command 6201.Xc 6202.D1 Pq alias: Ic if 6203Execute the first 6204.Ar command 6205if 6206.Ar shell-command 6207(run with 6208.Pa /bin/sh ) 6209returns success or the second 6210.Ar command 6211otherwise. 6212Before being executed, 6213.Ar shell-command 6214is expanded using the rules specified in the 6215.Sx FORMATS 6216section, including those relevant to 6217.Ar target-pane . 6218With 6219.Fl b , 6220.Ar shell-command 6221is run in the background. 6222.Pp 6223If 6224.Fl F 6225is given, 6226.Ar shell-command 6227is not executed but considered success if neither empty nor zero (after formats 6228are expanded). 6229.Tg lock 6230.It Ic lock-server 6231.D1 Pq alias: Ic lock 6232Lock each client individually by running the command specified by the 6233.Ic lock-command 6234option. 6235.Tg run 6236.It Xo Ic run-shell 6237.Op Fl bC 6238.Op Fl d Ar delay 6239.Op Fl t Ar target-pane 6240.Op Ar shell-command 6241.Xc 6242.D1 Pq alias: Ic run 6243Execute 6244.Ar shell-command 6245using 6246.Pa /bin/sh 6247or (with 6248.Fl C ) 6249a 6250.Nm 6251command in the background without creating a window. 6252Before being executed, 6253.Ar shell-command 6254is expanded using the rules specified in the 6255.Sx FORMATS 6256section. 6257With 6258.Fl b , 6259the command is run in the background. 6260.Fl d 6261waits for 6262.Ar delay 6263seconds before starting the command. 6264If 6265.Fl C 6266is not given, any output to stdout is displayed in view mode (in the pane 6267specified by 6268.Fl t 6269or the current pane if omitted) after the command finishes. 6270If the command fails, the exit status is also displayed. 6271.Tg wait 6272.It Xo Ic wait-for 6273.Op Fl L | S | U 6274.Ar channel 6275.Xc 6276.D1 Pq alias: Ic wait 6277When used without options, prevents the client from exiting until woken using 6278.Ic wait-for 6279.Fl S 6280with the same channel. 6281When 6282.Fl L 6283is used, the channel is locked and any clients that try to lock the same 6284channel are made to wait until the channel is unlocked with 6285.Ic wait-for 6286.Fl U . 6287.El 6288.Sh EXIT MESSAGES 6289When a 6290.Nm 6291client detaches, it prints a message. 6292This may be one of: 6293.Bl -tag -width Ds 6294.It detached (from session ...) 6295The client was detached normally. 6296.It detached and SIGHUP 6297The client was detached and its parent sent the 6298.Dv SIGHUP 6299signal (for example with 6300.Ic detach-client 6301.Fl P ) . 6302.It lost tty 6303The client's 6304.Xr tty 4 6305or 6306.Xr pty 4 6307was unexpectedly destroyed. 6308.It terminated 6309The client was killed with 6310.Dv SIGTERM . 6311.It too far behind 6312The client is in control mode and became unable to keep up with the data from 6313.Nm . 6314.It exited 6315The server exited when it had no sessions. 6316.It server exited 6317The server exited when it received 6318.Dv SIGTERM . 6319.It server exited unexpectedly 6320The server crashed or otherwise exited without telling the client the reason. 6321.El 6322.Sh TERMINFO EXTENSIONS 6323.Nm 6324understands some unofficial extensions to 6325.Xr terminfo 5 . 6326It is not normally necessary to set these manually, instead the 6327.Ic terminal-features 6328option should be used. 6329.Bl -tag -width Ds 6330.It Em \&AX 6331An existing extension that tells 6332.Nm 6333the terminal supports default colours. 6334.It Em \&Bidi 6335Tell 6336.Nm 6337that the terminal supports the VTE bidirectional text extensions. 6338.It Em \&Cs , Cr 6339Set the cursor colour. 6340The first takes a single string argument and is used to set the colour; 6341the second takes no arguments and restores the default cursor colour. 6342If set, a sequence such as this may be used 6343to change the cursor colour from inside 6344.Nm : 6345.Bd -literal -offset indent 6346$ printf '\e033]12;red\e033\e\e' 6347.Ed 6348.Pp 6349The colour is an 6350.Xr X 7 6351colour, see 6352.Xr XParseColor 3 . 6353.It Em \&Cmg, \&Clmg, \&Dsmg , \&Enmg 6354Set, clear, disable or enable DECSLRM margins. 6355These are set automatically if the terminal reports it is 6356.Em VT420 6357compatible. 6358.It Em \&Dsbp , \&Enbp 6359Disable and enable bracketed paste. 6360These are set automatically if the 6361.Em XT 6362capability is present. 6363.It Em \&Dseks , \&Eneks 6364Disable and enable extended keys. 6365.It Em \&Dsfcs , \&Enfcs 6366Disable and enable focus reporting. 6367These are set automatically if the 6368.Em XT 6369capability is present. 6370.It Em \&Rect 6371Tell 6372.Nm 6373that the terminal supports rectangle operations. 6374.It Em \&Smol 6375Enable the overline attribute. 6376.It Em \&Smulx 6377Set a styled underscore. 6378The single parameter is one of: 0 for no underscore, 1 for normal 6379underscore, 2 for double underscore, 3 for curly underscore, 4 for dotted 6380underscore and 5 for dashed underscore. 6381.It Em \&Setulc , \&ol 6382Set the underscore colour or reset to the default. 6383The argument is (red * 65536) + (green * 256) + blue where each is between 0 6384and 255. 6385.It Em \&Ss , Se 6386Set or reset the cursor style. 6387If set, a sequence such as this may be used 6388to change the cursor to an underline: 6389.Bd -literal -offset indent 6390$ printf '\e033[4 q' 6391.Ed 6392.Pp 6393If 6394.Em Se 6395is not set, \&Ss with argument 0 will be used to reset the cursor style instead. 6396.It Em \&Swd 6397Set the opening sequence for the working directory notification. 6398The sequence is terminated using the standard 6399.Em fsl 6400capability. 6401.It Em \&Sync 6402Start (parameter is 1) or end (parameter is 2) a synchronized update. 6403.It Em \&Tc 6404Indicate that the terminal supports the 6405.Ql direct colour 6406RGB escape sequence (for example, \ee[38;2;255;255;255m). 6407.Pp 6408If supported, this is used for the initialize colour escape sequence (which 6409may be enabled by adding the 6410.Ql initc 6411and 6412.Ql ccc 6413capabilities to the 6414.Nm 6415.Xr terminfo 5 6416entry). 6417.Pp 6418This is equivalent to the 6419.Em RGB 6420.Xr terminfo 5 6421capability. 6422.It Em \&Ms 6423Store the current buffer in the host terminal's selection (clipboard). 6424See the 6425.Em set-clipboard 6426option above and the 6427.Xr xterm 1 6428man page. 6429.It Em \&XT 6430This is an existing extension capability that tmux uses to mean that the 6431terminal supports the 6432.Xr xterm 1 6433title set sequences and to automatically set some of the capabilities above. 6434.El 6435.Sh CONTROL MODE 6436.Nm 6437offers a textual interface called 6438.Em control mode . 6439This allows applications to communicate with 6440.Nm 6441using a simple text-only protocol. 6442.Pp 6443In control mode, a client sends 6444.Nm 6445commands or command sequences terminated by newlines on standard input. 6446Each command will produce one block of output on standard output. 6447An output block consists of a 6448.Em %begin 6449line followed by the output (which may be empty). 6450The output block ends with a 6451.Em %end 6452or 6453.Em %error . 6454.Em %begin 6455and matching 6456.Em %end 6457or 6458.Em %error 6459have three arguments: an integer time (as seconds from epoch), command number and 6460flags (currently not used). 6461For example: 6462.Bd -literal -offset indent 6463%begin 1363006971 2 1 64640: ksh* (1 panes) [80x24] [layout b25f,80x24,0,0,2] @2 (active) 6465%end 1363006971 2 1 6466.Ed 6467.Pp 6468The 6469.Ic refresh-client 6470.Fl C 6471command may be used to set the size of a client in control mode. 6472.Pp 6473In control mode, 6474.Nm 6475outputs notifications. 6476A notification will never occur inside an output block. 6477.Pp 6478The following notifications are defined: 6479.Bl -tag -width Ds 6480.It Ic %client-detached Ar client 6481The client has detached. 6482.It Ic %client-session-changed Ar client session-id name 6483The client is now attached to the session with ID 6484.Ar session-id , 6485which is named 6486.Ar name . 6487.It Ic %continue Ar pane-id 6488The pane has been continued after being paused (if the 6489.Ar pause-after 6490flag is set, see 6491.Ic refresh-client 6492.Fl A ) . 6493.It Ic %exit Op Ar reason 6494The 6495.Nm 6496client is exiting immediately, either because it is not attached to any session 6497or an error occurred. 6498If present, 6499.Ar reason 6500describes why the client exited. 6501.It Ic %extended-output Ar pane-id Ar age Ar ... \& : Ar value 6502New form of 6503.Ic %output 6504sent when the 6505.Ar pause-after 6506flag is set. 6507.Ar age 6508is the time in milliseconds for which tmux had buffered the output before it was sent. 6509Any subsequent arguments up until a single 6510.Ql \&: 6511are for future use and should be ignored. 6512.It Ic %layout-change Ar window-id Ar window-layout Ar window-visible-layout Ar window-flags 6513The layout of a window with ID 6514.Ar window-id 6515changed. 6516The new layout is 6517.Ar window-layout . 6518The window's visible layout is 6519.Ar window-visible-layout 6520and the window flags are 6521.Ar window-flags . 6522.It Ic %output Ar pane-id Ar value 6523A window pane produced output. 6524.Ar value 6525escapes non-printable characters and backslash as octal \\xxx. 6526.It Ic %pane-mode-changed Ar pane-id 6527The pane with ID 6528.Ar pane-id 6529has changed mode. 6530.It Ic %pause Ar pane-id 6531The pane has been paused (if the 6532.Ar pause-after 6533flag is set). 6534.It Ic %session-changed Ar session-id Ar name 6535The client is now attached to the session with ID 6536.Ar session-id , 6537which is named 6538.Ar name . 6539.It Ic %session-renamed Ar name 6540The current session was renamed to 6541.Ar name . 6542.It Ic %session-window-changed Ar session-id Ar window-id 6543The session with ID 6544.Ar session-id 6545changed its active window to the window with ID 6546.Ar window-id . 6547.It Ic %sessions-changed 6548A session was created or destroyed. 6549.It Xo Ic %subscription-changed 6550.Ar name 6551.Ar session-id 6552.Ar window-id 6553.Ar window-index 6554.Ar pane-id ... \& : 6555.Ar value 6556.Xc 6557The value of the format associated with subscription 6558.Ar name 6559has changed to 6560.Ar value . 6561See 6562.Ic refresh-client 6563.Fl B . 6564Any arguments after 6565.Ar pane-id 6566up until a single 6567.Ql \&: 6568are for future use and should be ignored. 6569.It Ic %unlinked-window-add Ar window-id 6570The window with ID 6571.Ar window-id 6572was created but is not linked to the current session. 6573.It Ic %unlinked-window-close Ar window-id 6574The window with ID 6575.Ar window-id , 6576which is not linked to the current session, was closed. 6577.It Ic %unlinked-window-renamed Ar window-id 6578The window with ID 6579.Ar window-id , 6580which is not linked to the current session, was renamed. 6581.It Ic %window-add Ar window-id 6582The window with ID 6583.Ar window-id 6584was linked to the current session. 6585.It Ic %window-close Ar window-id 6586The window with ID 6587.Ar window-id 6588closed. 6589.It Ic %window-pane-changed Ar window-id Ar pane-id 6590The active pane in the window with ID 6591.Ar window-id 6592changed to the pane with ID 6593.Ar pane-id . 6594.It Ic %window-renamed Ar window-id Ar name 6595The window with ID 6596.Ar window-id 6597was renamed to 6598.Ar name . 6599.El 6600.Sh ENVIRONMENT 6601When 6602.Nm 6603is started, it inspects the following environment variables: 6604.Bl -tag -width LC_CTYPE 6605.It Ev EDITOR 6606If the command specified in this variable contains the string 6607.Ql vi 6608and 6609.Ev VISUAL 6610is unset, use vi-style key bindings. 6611Overridden by the 6612.Ic mode-keys 6613and 6614.Ic status-keys 6615options. 6616.It Ev HOME 6617The user's login directory. 6618If unset, the 6619.Xr passwd 5 6620database is consulted. 6621.It Ev LC_CTYPE 6622The character encoding 6623.Xr locale 1 . 6624It is used for two separate purposes. 6625For output to the terminal, UTF-8 is used if the 6626.Fl u 6627option is given or if 6628.Ev LC_CTYPE 6629contains 6630.Qq UTF-8 6631or 6632.Qq UTF8 . 6633Otherwise, only ASCII characters are written and non-ASCII characters 6634are replaced with underscores 6635.Pq Ql _ . 6636For input, 6637.Nm 6638always runs with a UTF-8 locale. 6639If en_US.UTF-8 is provided by the operating system, it is used and 6640.Ev LC_CTYPE 6641is ignored for input. 6642Otherwise, 6643.Ev LC_CTYPE 6644tells 6645.Nm 6646what the UTF-8 locale is called on the current system. 6647If the locale specified by 6648.Ev LC_CTYPE 6649is not available or is not a UTF-8 locale, 6650.Nm 6651exits with an error message. 6652.It Ev LC_TIME 6653The date and time format 6654.Xr locale 1 . 6655It is used for locale-dependent 6656.Xr strftime 3 6657format specifiers. 6658.It Ev PWD 6659The current working directory to be set in the global environment. 6660This may be useful if it contains symbolic links. 6661If the value of the variable does not match the current working 6662directory, the variable is ignored and the result of 6663.Xr getcwd 3 6664is used instead. 6665.It Ev SHELL 6666The absolute path to the default shell for new windows. 6667See the 6668.Ic default-shell 6669option for details. 6670.It Ev TMUX_TMPDIR 6671The parent directory of the directory containing the server sockets. 6672See the 6673.Fl L 6674option for details. 6675.It Ev VISUAL 6676If the command specified in this variable contains the string 6677.Ql vi , 6678use vi-style key bindings. 6679Overridden by the 6680.Ic mode-keys 6681and 6682.Ic status-keys 6683options. 6684.El 6685.Sh FILES 6686.Bl -tag -width "/etc/tmux.confXXX" -compact 6687.It Pa ~/.tmux.conf 6688Default 6689.Nm 6690configuration file. 6691.It Pa /etc/tmux.conf 6692System-wide configuration file. 6693.El 6694.Sh EXAMPLES 6695To create a new 6696.Nm 6697session running 6698.Xr vi 1 : 6699.Pp 6700.Dl $ tmux new-session vi 6701.Pp 6702Most commands have a shorter form, known as an alias. 6703For new-session, this is 6704.Ic new : 6705.Pp 6706.Dl $ tmux new vi 6707.Pp 6708Alternatively, the shortest unambiguous form of a command is accepted. 6709If there are several options, they are listed: 6710.Bd -literal -offset indent 6711$ tmux n 6712ambiguous command: n, could be: new-session, new-window, next-window 6713.Ed 6714.Pp 6715Within an active session, a new window may be created by typing 6716.Ql C-b c 6717(Ctrl 6718followed by the 6719.Ql b 6720key 6721followed by the 6722.Ql c 6723key). 6724.Pp 6725Windows may be navigated with: 6726.Ql C-b 0 6727(to select window 0), 6728.Ql C-b 1 6729(to select window 1), and so on; 6730.Ql C-b n 6731to select the next window; and 6732.Ql C-b p 6733to select the previous window. 6734.Pp 6735A session may be detached using 6736.Ql C-b d 6737(or by an external event such as 6738.Xr ssh 1 6739disconnection) and reattached with: 6740.Pp 6741.Dl $ tmux attach-session 6742.Pp 6743Typing 6744.Ql C-b \&? 6745lists the current key bindings in the current window; up and down may be used 6746to navigate the list or 6747.Ql q 6748to exit from it. 6749.Pp 6750Commands to be run when the 6751.Nm 6752server is started may be placed in the 6753.Pa ~/.tmux.conf 6754configuration file. 6755Common examples include: 6756.Pp 6757Changing the default prefix key: 6758.Bd -literal -offset indent 6759set-option -g prefix C-a 6760unbind-key C-b 6761bind-key C-a send-prefix 6762.Ed 6763.Pp 6764Turning the status line off, or changing its colour: 6765.Bd -literal -offset indent 6766set-option -g status off 6767set-option -g status-style bg=blue 6768.Ed 6769.Pp 6770Setting other options, such as the default command, 6771or locking after 30 minutes of inactivity: 6772.Bd -literal -offset indent 6773set-option -g default-command "exec /bin/ksh" 6774set-option -g lock-after-time 1800 6775.Ed 6776.Pp 6777Creating new key bindings: 6778.Bd -literal -offset indent 6779bind-key b set-option status 6780bind-key / command-prompt "split-window 'exec man %%'" 6781bind-key S command-prompt "new-window -n %1 'ssh %1'" 6782.Ed 6783.Sh SEE ALSO 6784.Xr pty 4 6785.Sh AUTHORS 6786.An Nicholas Marriott Aq Mt nicholas.marriott@gmail.com 6787