CHANGES FROM 2.4 to 2.5 09 May 2017
- Reset updated flag when restarting #() command so that new output is
properly
recognised. GitHub issue 922.
- Fix ECH with a background colour.
- Do not rely on the terminal not moving the cursor after DL or EL.
- Fix send-keys and send-prefix in copy-mode (so C-b C-b works).
- Set the current pane for rotate-window so it works in command
sequences.
- Add pane_mode format.
- Differentiate M-Up from Escape+Up when possible (that is, in
terminals with xterm(1) style function keys). GitHub issue 907.
- Add session_stack and window_stack_index formats.
- Some new control mode notifications and corresponding hooks:
pane-mode-changed, window-pane-changed, client-session-changed,
session-window-changed.
- Format pane_search_string for last search term while in copy mode
(useful with command-prompt -I).
- Fix a problem with high CPU usage and multiple clients with #().
- Fix UTF-8 combining characters in column 0.
- Fix reference counting so that panes are properly destroyed and
their processes killed.
- Clamp SU (CSI S) parameter to work around a bug in Konsole.
- Tweak line wrapping in full width panes to play more nicely with
terminal copy and paste.
- Fix when we emit SGR 0 in capture-pane -e.
- Do not change TERM until after config file parsing has finished, so
that commands run inside the config file can use it to make decisions
(typically about default-terminal).
- Make the initial client wait until config file parsing has finished
to avoid racing with commands.
- Fix core when if-shell fails.
- Only use ED to clear screen if the pane is at the bottom.
- Fix multibyte UTF-8 output.
- Code improvements around target (-t) resolution.
- Change how the default target (for commands without -t) is managed
across command sequences: now it is set up at the start and commands
are required to update it if needed. Fixes binding command sequences
to mouse keys.
- Make if-shell from the config file work correctly.
- Change to always check the root key table if no binding is found in
the current table (prefix table or copy-mode table or whatever). This
means that root key bindings will take effect even in copy mode, if not
overridden by a copy mode key binding.
- Fix so that the history file works again.
- Run config file without a client rather than using the first client,
restores previous behaviour.
- If a #() command doesn't exit, continue to read from it and use its
last full line of output.
- Handle slow terminals and fast output better: when the amount of
data outstanding gets too large, discard output until it is drained and
we are able to do a full redraw. Prevents tmux sitting on a huge buffer
that the terminal will take forever to consume.
- Do not redraw a client unless we realistically think it can accept
the data - defer redraws until the client has nothing else waiting to write.