| Commit message (Collapse) | Author | Age |
... | |
|
|
|
| |
make functions that can't fail void.
|
|
|
|
|
|
|
|
|
|
|
|
| |
will suppress root key table bindings. So change to always check the
root table if no binding is found in the current table (whether it be
the prefix table from pressing the prefix or the copy mode table from a
pane).
A root key binding can be blocked by binding the key to a command that
does nothing (like send-keys with no arguments).
Problem reported by Thomas Sattler.
|
| |
|
|
|
|
| |
structure.
|
| |
|
| |
|
|
|
|
| |
return a buffer from the stack.
|
|
|
|
|
|
|
| |
must be a full line). Don't let it redraw the status line more than once
a second.
Requested by someone about 10 years ago...
|
|
|
|
| |
while already doing so.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reasonable amount (currently width * height * 8 bytes), discard all
output to the terminal and start trying to redraw periodically
instead. Continue with this until the amount of data we are trying to
write falls to a low level again.
This helps to prevent tmux sitting on a huge buffer of data when there
are processes with fast output running inside tmux but the outside
terminal is slow.
A new client_discarded format holds the amount of data that has been
discarded due to this mechanism.
The three variables (when to start this, when to stop, and how often to
redraw) are basically "works for me" at the moment, this is going in to
see how it goes and if it causes problems for anyone else.
|
|
|
|
| |
and there are some question marks about it's support.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
falls back to an alternative if the tty name is not available. This is
clearer than overloading the client ttyname member and allows us to
remove the path stored in the tty struct, it should always be the same
as the client.
|
|
|
|
|
| |
terminfo capability. This means there are now nine attribute bits, so
anything above 0xff uses an extended cell.
|
| |
|
|
|
|
| |
into it.
|
|
|
|
| |
pattern.
|
|
|
|
|
|
| |
pane list. This means the numbering is in order (for example for
display-panes) and fixes a problem with redrawing the active pane
borders.
|
| |
|
|
|
|
|
| |
(like load-buffer and save-buffer), from Chris Pickel. Also break the
where-is-this-file code out into its own function for loadb and saveb.
|
|
|
|
|
|
| |
is being written and when.
Also a manpage typo fix from jmc@.
|
|
|
|
|
| |
to -t instead of a target session. Also allow them to contain only one
session.
|
|
|
|
| |
debugging.
|
| |
|
|
|
|
| |
possible instead of sending individual line feeds.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
together instead of handling them one by one. This is significantly
faster. Sequences are terminated when we reach the end of the line, fill
the internal buffer, or a different character is seen by the input
parser (an escape sequence, or UTF-8).
Rather than writing collected sequences out immediately, hold them until
it is necessary (another screen modification, or we consume all
available data). This means we can discard changes that would have no
effect (for example, lines that would just be scrolled off the screen or
cleared). This reduces the total amount of data we write out to the
terminal - not important for fast terminals, but a big help with slow
(like xterm).
|
|
|
|
|
| |
is not actually helping us much and just adds complexity, so don't
bother.
|
| |
|
|
|
|
| |
others for clearing panes.
|
|
|
|
| |
is the same as the previous one.
|
| |
|
|
|
|
| |
repeat. Reported by Amos Bird.
|
|
|
|
| |
the whole line.
|
| |
|
|
|
|
|
|
| |
jobs, this means that if the same job is used for different windows or
panes (for example in pane-border-format), it will be run separately for
each pane.
|
|
|
|
|
|
|
|
|
|
|
| |
main issue is that if we have two panes, A with 1002 and B with 1003, we
need to set 1003 outside tmux in order to get all the mouse events, but
then we need to suppress the ones that pane A doesn't want. This is easy
in SGR mouse mode, because buttons == 3 is only used for movement events
(for other events the trailing m/M marks a release instead), but in
normal mouse mode we can't tell so easily. So for that, look at the
previous event instead - if it is drag+release as well, then the current
event is a movement event.
|
|
|
|
| |
not string.
|
| |
|
|
|
|
| |
modified keys.
|
| |
|
|
|
|
|
| |
contains items of the form "alias=command". This is consulted when an
unknown command is parsed.
|
|
|
|
|
|
| |
and support -a for array options. Allow the separator for set to be
specified in the options table (will be used for backwards compatibility
later).
|
|
|
|
|
|
| |
(this means inlining forkpty()).
ok deraadt
|
|
|
|
| |
utf8_stravis() which calls our existing utf8_strvis() and use it instead
|
| |
|
| |
|
|
|
|
| |
just return NULL.
|
|
|
|
|
|
|
|
| |
commands this pushes more of the code into options.c and ties it more
closely to the options table rather than having an unnecessary
split. Also add support for array options (will be used later). Only
(intentional) user visible change is that show-options output is now
passed through vis(3) with VIS_DQ so quotes are escaped.
|