Add support for a single "marked pane". There is one marked pane in the

server at a time; it may be toggled or cleared with select-pane -m and
-M (the border is highlighted). A new target '~' or '{marked}' specifies
the marked pane to commands and it is the default target for the
swap-pane and join-pane -s flag (this makes them much simpler to use -
mark the source pane and then change to the target pane to run swapp or
joinp).
This commit is contained in:
nicm
2015-06-04 11:43:51 +00:00
parent a3edfd9e84
commit a863834574
11 changed files with 296 additions and 40 deletions

71
tmux.1
View File

@ -298,6 +298,12 @@ Change to the previous window.
Briefly display pane indexes.
.It r
Force redraw of the attached client.
.It m
Mark the current pane (see
.Ic select-pane
.Fl m ) .
.It M
Clear the marked pane.
.It s
Select a new session for the attached client interactively.
.It t
@ -351,6 +357,8 @@ This section contains a list of the commands supported by
.Nm .
Most commands accept the optional
.Fl t
(and sometimes
.Fl s )
argument with one of
.Ar target-client ,
.Ar target-session
@ -451,7 +459,6 @@ Each has a single-character alternative form.
.It Li "{last}" Ta "!" Ta "The last (previously current) window"
.It Li "{next}" Ta "+" Ta "The next window by number"
.It Li "{previous}" Ta "-" Ta "The previous window by number"
.It Li "{mouse}" Ta "=" Ta "The window where the mouse event happened"
.El
.Pp
.Ar target-pane
@ -481,7 +488,6 @@ The following special tokens are available for the pane index:
.It Li "{down}" Ta "" Ta "The pane below the active pane"
.It Li "{left}" Ta "" Ta "The pane to the left of the active pane"
.It Li "{right}" Ta "" Ta "The pane to the right of the active pane"
.It Li "{mouse}" Ta "=" Ta "The pane where the mouse event happened"
.El
.Pp
The tokens
@ -493,6 +499,27 @@ may be followed by an offset, for example:
select-window -t:+2
.Ed
.Pp
In addition,
.Em target-session ,
.Em target-window
or
.Em target-pane
may consist entirely of the token
.Ql {mouse}
(alternative form
.Ql = )
to specify the most recent mouse event
(see the
.Sx MOUSE SUPPORT
section)
or
.Ql {marked}
(alternative form
.Ql ~ )
to specify the marked pane (see
.Ic select-pane
.Fl m ) .
.Pp
Sessions, window and panes are each numbered with a unique ID; session IDs are
prefixed with a
.Ql $ ,
@ -1440,6 +1467,13 @@ option causes
.Ar src-pane
to be joined to left of or above
.Ar dst-pane .
.Pp
If
.Fl s
is omitted and a marked pane is present (see
.Ic select-pane
.Fl m ) ,
the marked pane is used rather than the current pane.
.It Xo Ic kill-pane
.Op Fl a
.Op Fl t Ar target-pane
@ -1795,7 +1829,7 @@ commands.
.Fl o
applies the last set layout if possible (undoes the most recent layout change).
.It Xo Ic select-pane
.Op Fl DdegLlRU
.Op Fl DdegLlMmRU
.Op Fl P Ar style
.Op Fl t Ar target-pane
.Xc
@ -1823,6 +1857,20 @@ enables or
.Fl d
disables input to the pane.
.Pp
.Fl m
and
.Fl M
are used to set and clear the
.Em marked pane .
There is one marked pane at a time, setting a new marked pane clears the last.
The marked pane is the default target for
.Fl s
to
.Ic join-pane ,
.Ic swap-pane
and
.Ic swap-window .
.Pp
Each pane has a style: by default the
.Ic window-style
and
@ -1911,6 +1959,13 @@ swaps with the next pane (after it numerically).
instructs
.Nm
not to change the active pane.
.Pp
If
.Fl s
is omitted and a marked pane is present (see
.Ic select-pane
.Fl m ) ,
the marked pane is used rather than the current pane.
.It Xo Ic swap-window
.Op Fl d
.Op Fl s Ar src-window
@ -1922,6 +1977,15 @@ This is similar to
except the source and destination windows are swapped.
It is an error if no window exists at
.Ar src-window .
.Pp
Like
.Ic swap-pane ,
if
.Fl s
is omitted and a marked pane is present (see
.Ic select-pane
.Fl m ) ,
the window containing the marked pane is used rather than the current window.
.It Xo Ic unlink-window
.Op Fl k
.Op Fl t Ar target-window
@ -3488,6 +3552,7 @@ The flag is one of the following symbols appended to the window name:
.It Li "#" Ta "Window is monitored and activity has been detected."
.It Li "!" Ta "A bell has occurred in the window."
.It Li "~" Ta "The window has been silent for the monitor-silence interval."
.It Li "M" Ta "The window contains the marked pane."
.It Li "Z" Ta "The window's active pane is zoomed."
.El
.Pp