| Commit message (Collapse) | Author | Age |
... | |
| |
|
|
|
|
|
| |
specified a size with refresh-client -C. Prompted by a different change
with the same purpose from George Nachman.
|
|
|
|
|
| |
(that don't touch an edge). Move all the tty clear code into two common
functions rather than having the same bunch of checks everywhere.
|
|
|
|
| |
well.
|
| |
|
|
|
|
|
|
| |
copy mode), then look the key up in the table and fire any command
instead of delivering the key to the pane directly where it will be
ignored. This makes C-b C-b (send-prefix) work in copy mode again.
|
|
|
|
|
|
| |
itself hit the "terminal can't keep up" check. To avoid this, record how
much data we send during redraw (we know we will be starting with 0) and
skip the check until it has been flushed. GitHub issue 912.
|
| |
|
|
|
|
| |
conditional for key bindings.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
xterm-keys by default, generates \033[1;3A instead of
\033\033[OA. Unfortunately this confuses vi, which doesn't understand
xterm keys and now sees Escape+Up pressed within escape-time as Escape
followed by A.
The issue doesn't happen in xterm itself because it gets the keys from X
and can distinguish between a genuine M-Up and Escape+Up.
Because xterm can, tmux can too: xterm will give us \033[1;3A (that is,
kUP3) for a real M-Up and \033\033OA for Escape+Up - in fact, we can be
sure any \033 preceding an xterm key is a real Escape key press because
Meta would be part of the xterm key instead of a separate \033.
So change tmux to recognise both sequences as M-Up for its own purposes,
but generate the xterm version of M-Up only if it originally received
the xterm version from the terminal.
This means we will return to sending \033\033OA instead of the xterm key
for terminals that do not support xterm keys themselves, but there is no
practical way around this because they do not allow us to distinguish
between Escape+Up and M-Up. xterm style escape sequences are now the de
facto standard for these keys in any case.
Problem reported by jsing@ and subsequently by Cecile Tonglet in GitHub
issue 907.
|
|
|
|
| |
ROCHFORD.
|
|
|
|
|
|
|
|
|
|
|
| |
session:
pane-mode-changed
window-pane-changed
client-session-changed
session-window-changed
From Joshua Brot.
|
|
|
|
| |
so it can work when in -I, suggested by Suraj N Kurapati.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
and not have to wait for an update when they change pane, we allow
commands to run more than once a second if the expanded form
changes. Unfortunately this can mean them being run far too often
(pretty much continually) when multiple clients exist, because some
formats (including #D) will always differ between clients.
To avoid this, give each client its own tree of jobs which means that
the same command will be different instances for each client - similar
to how we have the tag to separate commands for different panes.
GitHub issue 889; test case reported by Paul Johnson.
|
|
|
|
| |
Winstein.
|
|
|
|
| |
obviously.
|
|
|
|
| |
list.
|
|
|
|
| |
alert is enabled and we are actually going to add the alerts event.
|
|
|
|
| |
the scroll region, so clamp it. Reported by Moritz Bunkus.
|
| |
|
|
|
|
|
| |
paste by avoiding explicit line wraps if we think the terminal will wrap
anyway.
|
|
|
|
|
| |
cause the colours to be written again. Also treat colours separately
from attributes so that RGB colours will work.
|
| |
|
|
|
|
| |
has finished loading.
|
|
|
|
|
| |
fact it can't do so because the item it was working with will have been
freed. Reported by Daniel Hahler.
|
|
|
|
| |
clear end of screen.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
CMD_FIND_* flags in the cmd_entry and call it for the command. Commands
with special requirements call it themselves and update the target for
hooks to use.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
command. This is used for the session, window and pane for all commands
in the command sequence if there is no -t or -s.
However, using it for all commands in the command sequence means that if
the active pane or current session is changed, subsequent commands still
use the previous state. So make commands which explicitly change the
current state (such as neww and selectp) update it themselves for later
commands. Commands which may invalidate the state (like killp) are
already OK because an invalid state will be ignored.
Also fill in the current state for all key bindings rather than just the
mouse, so that any omissions are easier to spot.
|
|
|
|
| |
correctly flushed.
|
|
|
|
| |
Buehler.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
rather than having it inside other functions. Should be no change to the
way targets are resolved just yet.
|
| |
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
commands are queued, that's in cfg_done not after start_cfg finishes.
|
|
|
|
| |
structure.
|
|
|
|
|
| |
use no client like we did before. This means commands like new-session
won't try to attach if they are in the config file.
|
| |
|