Add a per-pane option set. Pane options inherit from window options (so

there should be no change to existing behaviour) and are set and shown
with set-option -p and show-options -p.

Change remain-on-exit and window-style/window-active-style to be pane
options (some others will be changed later).

This makes select-pane -P and -g unnecessary so no longer document them
(they still work) and no longer document set-window-option and
show-window-options in favour of set-option -w and show-options -w.
This commit is contained in:
nicm
2019-06-20 11:59:59 +00:00
parent c1ede507d9
commit 5f92f92908
16 changed files with 300 additions and 278 deletions

255
tmux.1
View File

@ -876,7 +876,7 @@ refresh-client -t/dev/ttyp2
rename-session -tfirst newname
set-window-option -t:0 monitor-activity on
set-option -wt:0 monitor-activity on
new-window ; split-window -d
@ -2323,8 +2323,7 @@ applies the last set layout if possible (undoes the most recent layout change).
.Fl E
spreads the current pane and any panes next to it out evenly.
.It Xo Ic select-pane
.Op Fl DdegLlMmRU
.Op Fl P Ar style
.Op Fl DdeLlMmRU
.Op Fl T Ar title
.Op Fl t Ar target-pane
.Xc
@ -2351,6 +2350,8 @@ command.
enables or
.Fl d
disables input to the pane.
.Fl T
sets the pane title.
.Pp
.Fl m
and
@ -2365,25 +2366,6 @@ to
.Ic swap-pane
and
.Ic swap-window .
.Pp
Each pane has a style: by default the
.Ic window-style
and
.Ic window-active-style
options are used,
.Ic select-pane
.Fl P
sets the style for a single pane.
For example, to set the pane 1 background to red:
.Bd -literal -offset indent
select-pane -t:.1 -P 'bg=red'
.Ed
.Pp
.Fl g
shows the current pane style.
.Pp
.Fl T
sets the pane title.
.It Xo Ic select-window
.Op Fl lnpT
.Op Fl t Ar target-window
@ -2702,16 +2684,17 @@ is present, all key bindings are removed.
The appearance and behaviour of
.Nm
may be modified by changing the value of various options.
There are three types of option:
There are four types of option:
.Em server options ,
.Em session options
.Em window options
and
.Em window options .
.Em pane options .
.Pp
The
.Nm
server has a set of global options which do not apply to any particular
window or session.
window or session or pane.
These are altered with the
.Ic set-option
.Fl s
@ -2733,16 +2716,29 @@ The available server and session options are listed under the
.Ic set-option
command.
.Pp
Similarly, a set of window options is attached to each window, and there is
a set of global window options from which any unset options are inherited.
Window options are altered with the
.Ic set-window-option
command and can be listed with the
.Ic show-window-options
command.
All window options are documented with the
.Ic set-window-option
command.
Similarly, a set of window options is attached to each window and a set of pane
options to each pane.
Pane options inherit from window options.
This means any pane option may be set as a window option to apply the option to
all panes in the window without the option set, for example these commands will
set the background colour to red for all panes except pane 0:
.Bd -literal -offset indent
set -w window-style bg=red
set -pt:.0 window-style bg=blue
.Ed
.Pp
There is also a set of global window options from which any unset window or
pane options are inherited.
Window and pane options are altered with
.Ic set-option
.Fl w
and
.Fl p
commands and displayed with
.Ic show-option
.Fl w
and
.Fl p .
.Pp
.Nm
also supports user options which are prefixed with a
@ -2760,26 +2756,27 @@ abc123
Commands which set options are as follows:
.Bl -tag -width Ds
.It Xo Ic set-option
.Op Fl aFgoqsuw
.Op Fl t Ar target-session | Ar target-window
.Op Fl aFgopqsuw
.Op Fl t Ar target-pane
.Ar option Ar value
.Xc
.D1 (alias: Ic set )
Set a window option with
.Fl w
(equivalent to the
.Ic set-window-option
command),
Set a pane option with
.Fl p ,
a window option with
.Fl w ,
a server option with
.Fl s ,
otherwise a session option.
If the option is not a user option,
.Fl w
and
or
.Fl s
are unnecessary -
may be unnecessary -
.Nm
will infer the type from the option name.
will infer the type from the option name, assuming
.Fl w
for pane options.
If
.Fl g
is given, the global session or window option is set.
@ -2824,13 +2821,49 @@ blue foreground.
Without
.Fl a ,
the result would be the default background and a blue foreground.
.Pp
Available window options are listed under
.Ic set-window-option .
.Pp
.It Xo Ic show-options
.Op Fl AgHpqsvw
.Op Fl t Ar target-pane
.Op Ar option
.Xc
.D1 (alias: Ic show )
Show the pane options (or a single option if
.Ar option
is provided) with
.Fl p ,
the window options with
.Fl w ,
the server options with
.Fl s ,
otherwise the session options.
If the option is not a user option,
.Fl w
or
.Fl s
may be unnecessary -
.Nm
will infer the type from the option name, assuming
.Fl w
for pane options.
Global session or window options are listed if
.Fl g
is used.
.Fl v
shows only the option value, not the name.
If
.Fl q
is set, no error will be returned if
.Ar option
is unset.
.Fl H
includes hooks (omitted by default).
.Fl A
includes options inherited from a parent set of options, such options are
marked with an asterisk.
.Ar value
depends on the option and may be a number, a string, or a flag (on, off, or
omitted to toggle).
.El
.Pp
Available server options are:
.Bl -tag -width Ds
@ -3357,26 +3390,8 @@ copy mode.
The default is
.Ql \ -_@ .
.El
.It Xo Ic set-window-option
.Op Fl aFgoqu
.Op Fl t Ar target-window
.Ar option Ar value
.Xc
.D1 (alias: Ic setw )
Set a window option.
The
.Fl a ,
.Fl F ,
.Fl g ,
.Fl o ,
.Fl q
and
.Fl u
flags work similarly to the
.Ic set-option
command.
.Pp
Supported window options are:
Available window options are:
.Pp
.Bl -tag -width Ds -compact
.It Xo Ic aggressive-resize
@ -3436,7 +3451,7 @@ or later with
or with a terminal escape sequence.
It may be switched off globally with:
.Bd -literal -offset indent
set-window-option -g automatic-rename off
set-option -wg automatic-rename off
.Ed
.Pp
.It Ic automatic-rename-format Ar format
@ -3553,29 +3568,12 @@ see the
section.
Attributes are ignored.
.Pp
.It Xo Ic remain-on-exit
.Op Ic on | off
.Xc
A window with this flag set is not destroyed when the program running in it
exits.
The window may be reactivated with the
.Ic respawn-window
command.
.Pp
.It Xo Ic synchronize-panes
.Op Ic on | off
.Xc
Duplicate input to any pane to all other panes in the same window (only
for panes that are not in any special mode).
.Pp
.It Ic window-active-style Ar style
Set the style for the window's active pane.
For how to specify
.Ar style ,
see the
.Sx STYLES
section.
.Pp
.It Ic window-status-activity-style Ar style
Set status line style for windows with an activity alert.
For how to specify
@ -3655,14 +3653,6 @@ command and the
.Ic aggressive-resize
option.
.Pp
.It Ic window-style Ar style
Set the default window style.
For how to specify
.Ar style ,
see the
.Sx STYLES
section.
.Pp
.It Xo Ic wrap-search
.Op Ic on | off
.Xc
@ -3679,57 +3669,34 @@ will generate
function key sequences; these have a number included to indicate modifiers such
as Shift, Alt or Ctrl.
.El
.It Xo Ic show-options
.Op Fl AgHqsvw
.Op Fl t Ar target-session | Ar target-window
.Op Ar option
.Pp
Available pane options are:
.Pp
.Bl -tag -width Ds -compact
.It Xo Ic remain-on-exit
.Op Ic on | off
.Xc
.D1 (alias: Ic show )
Show the window options (or a single window option if given) with
.Fl w
(equivalent to
.Ic show-window-options ) ,
the server options with
.Fl s ,
otherwise the session options for
.Ar target session .
If
.Ar option
is given and is not a user option,
.Fl w
and
.Fl s
are unnecessary -
.Nm
will infer the type from the option name.
Global session or window options are listed if
.Fl g
is used.
.Fl v
shows only the option value, not the name.
If
.Fl q
is set, no error will be returned if
.Ar option
is unset.
.Fl H
includes hooks (omitted by default).
.Fl A
includes options inherited from a parent set of options, such options are
marked with an asterisk.
.It Xo Ic show-window-options
.Op Fl gv
.Op Fl t Ar target-window
.Op Ar option
.Xc
.D1 (alias: Ic showw )
List the window options or a single option for
.Ar target-window ,
or the global window options if
.Fl g
is used.
.Fl v
shows only the option value, not the name.
A pane with this flag set is not destroyed when the program running in it
exits.
The pane may be reactivated with the
.Ic respawn-pane
command.
.Pp
.It Ic window-active-style Ar style
Set the pane style when it is the active pane.
For how to specify
.Ar style ,
see the
.Sx STYLES
section.
.Pp
.It Ic window-style Ar style
Set the pane style.
For how to specify
.Ar style ,
see the
.Sx STYLES
section.
.El
.Sh HOOKS
.Nm