nicm
289ac55ebd
Correctly adjust the end pointer for a two character terminator before
...
decoding OSC 52 response, from Daniel Ekloef in GitHub issue 2942.
2021-10-21 08:36:51 +00:00
nicm
13a0da205b
Break message type stuff out into its own header.
2021-08-13 07:37:58 +00:00
nicm
2bb0b9d6c5
Change focus to be driven by events rather than walking all panes at end
...
of event loop, this way the ordering of in and out can be enforced.
GitHub issue 2808.
2021-08-13 06:52:51 +00:00
nicm
19812b2d29
Add client focus hooks.
2021-08-06 09:19:02 +00:00
nicm
e5106bfb96
Add another couple of keys needed for extended keys, GitHub issue 2658.
...
Handle modifier 9 as Meta, GitHub issue 2647.
2021-06-10 07:21:09 +00:00
nicm
bbb3509bc5
Change how extended ctrl keys are processed to fix C-S-Tab and C-;.
2021-04-13 12:26:34 +00:00
nicm
715835510b
Handle C-Tab correctly with extended keys, GitHub issue 2642.
2021-04-13 05:23:34 +00:00
nicm
efb5e58c38
Restore previous behaviour so that C-X remains the same as C-x. Instead,
...
translate incoming extended keys so that they are consistent.
2021-04-07 15:46:12 +00:00
nicm
ba99996676
Fixes for extended keys: 1) allow C-x and C-X to be bound separately
...
since some terminals report them differently 2) use the "backspace"
option to translate backspace 3) map ctrl which are have the ctrl
implied (such as C-x) properly when the terminal reports both the key
and the modifier.
Note that any key bindings for C-X where C-x is meant must now be
changed.
2021-04-07 07:30:02 +00:00
nicm
f2dfc2759e
Escape+Up and the other arrow keys should be kept as Escape+Up and not
...
converted to M-Up. Do not give them the implied meta flag so they don't
match the M-Up entry in the output key tree. Fixes problem with vi
reported by jsing@.
2020-09-23 14:57:33 +00:00
nicm
e4a4fcfc90
Old Terminal.app versions do not respond correctly to secondary DA,
...
instead responding with the primary DA response. Ignore it. Reported by
Dave Vandervies.
2020-08-24 05:23:30 +00:00
nicm
2bf612a806
Always send xterm-style keys for M-Left and M-Right. GitHub issue 2296.
2020-07-06 07:27:39 +00:00
nicm
f3931497f8
Use CLOCK_MONOTONIC for timer measurement and add a timestamp to control
...
mode %output blocks.
2020-06-02 08:17:27 +00:00
nicm
6f03e49e68
Use the internal representation for UTF-8 keys instead of wchar_t and
...
drop some code only needed for that.
2020-05-25 18:57:24 +00:00
nicm
033d6472cb
FocusIn keys can also update the latest client, like normal keys.
2020-05-22 15:43:38 +00:00
nicm
0ab82d9531
Add a terminal feature for enable/disable extended keys (supported by
...
xterm and mintty) and add an option to make tmux send it. Only forward
extended keys if the application has requested them, even though we use
the CSI u sequence and xterm uses CSI 27 ~ - this is what mintty does as
well.
2020-05-16 16:44:54 +00:00
nicm
469eda7e44
Only redraw popup on the client it belongs to.
2020-05-16 15:41:54 +00:00
nicm
26312a7774
Move terminal features into a single file.
2020-05-16 14:30:17 +00:00
nicm
41dec585df
Response is iTerm2 not not ITerm2.
2020-05-16 14:18:39 +00:00
nicm
9dd58470e4
Remove support for iTerm2's DSR 1337 extension and use the CSI > q
...
extension now supported by a few different terminals.
2020-05-16 14:16:25 +00:00
nicm
2083a6ea20
Change how sync works to always send the end sequence after all output
...
is done when we are returning to the event loop (since we always move
the cursor at that point). Also a man fix from jmc.
2020-04-20 14:59:31 +00:00
nicm
c91b4b2e14
Tidy up the terminal detection and feature code and add named sets of
...
terminal features, each of which are defined in one place and map to a
builtin set of terminfo(5) capabilities. Features can be specified based
on TERM with a new terminal-features option or with the -T flag when
running tmux. tmux will also detect a few common terminals from the DA
and DSR responses.
This is intended to make it easier to configure tmux's use of
terminfo(5) even in the presence of outdated ncurses(3) or terminfo(5)
databases or for features which do not yet have a terminfo(5) entry.
Instead of having to grok terminfo(5) capability names and what they
should be set to in the terminal-overrides option, the user can
hopefully just give tmux a feature name and let it do the right thing.
The terminal-overrides option remains both for backwards compatibility
and to allow tweaks of individual capabilities.
tmux already did much of this already, this makes it tidier and simpler
to configure.
2020-04-20 13:25:36 +00:00
nicm
7f2925a01d
Support the application escape sequence mintty (means tmux doesn't have
...
to delay to wait for Escape).
2020-04-17 09:06:10 +00:00
nicm
363d950ac0
Send secondary device attributes instead of primary which gives us a bit
...
more useful information on some terminals.
2020-04-16 15:14:25 +00:00
nicm
b2443aa2f9
Add support for the iTerm2 sychronized updates escape sequence which
...
drastically reduces flickering.
2020-04-16 13:35:24 +00:00
nicm
a6129e9974
If we can identify the terminal as iTerm2 or as tmux, we can be sure
...
they support 256 and RGB colours, so set those flags too.
2020-01-28 11:39:51 +00:00
nicm
90e962fff8
Add support for the iTerm2 DSR 1337 sequence to get the terminal version.
2020-01-28 10:59:29 +00:00
nicm
835a6c0cf0
Be more specific in the DSR we are looking for so it doesn't get
...
confused with mouse sequences. Also set a flag and don't bother checking
for it if we have already seen it (same for DA), and don't check if we
never asked for it.
2020-01-13 08:12:53 +00:00
nicm
381333c4a9
Detect iTerm2 and enable DECSLRM.
2020-01-12 22:00:20 +00:00
nicm
193e637de0
The terminal type was never as much use as I expected so remove it in
...
favour of a couple of flags for the features used (DECSLRM and DECFRA).
Also rename the flag for no xenl to be more obvious while here.
2020-01-12 21:07:07 +00:00
nicm
deb734c7f6
Loop over all DA features, don't skip the first.
2020-01-12 20:20:20 +00:00
nicm
08e2828592
Parse out DA features.
2019-11-28 10:17:22 +00:00
nicm
16b7719418
Fix parsing of DA with only one argument in the response and add 65 for VT520.
2019-11-14 15:37:19 +00:00
nicm
cb10bfb8ef
Save mouse buttons as well as position.
2019-05-09 14:09:32 +00:00
nicm
85a9c2f52b
Treat keys in identify mode (display-panes) specially and handle them
...
immediately rather than queuing them (the command can block the queue
which means they were not being seen until it finished which was too
late). Reported by denis@ and solene@, ok solene@.
2019-05-07 11:24:03 +00:00
nicm
84e4652513
Use the right index for user-keys.
2019-05-03 18:00:19 +00:00
nicm
33298d6df6
Instead of processing keys all together, put them up on the client
...
command queue so they are ordered correctly with the commands that they
execute.
2019-05-03 14:51:30 +00:00
nicm
2d65bbd941
options_array_item_value cannot return NULL.
2019-04-25 19:36:59 +00:00
nicm
b9022e33ea
Somehow missed these bits in last commit.
2019-04-23 20:40:03 +00:00
nicm
7bcc0d16f2
Add an argument to copy commands to set the prefix for the buffer name,
...
allows buffers for different sessions to be named separately.
2019-04-02 09:03:39 +00:00
nicm
ce6be7afd4
Make array options a sparse tree instead of an array of char * and
...
remove the size limit.
2019-03-18 11:58:40 +00:00
nicm
fa33603dc1
Do not look at next key byte if the length is 0, originally from Shingo
...
NISHIOKA in GitHub issue 1601.
2019-02-16 19:04:34 +00:00
nicm
65dd7345e0
Do not check for a key again without an escape if only \033 is present.
2018-10-28 15:34:27 +00:00
nicm
a51668ca06
Support OSC 52 ? to read the top buffer inside tmux (when set-clipboard
...
is changed to on), also add refresh-client -l to ask tmux to use the
same mechanism to get the clipboard from the terminal outside
tmux. GitHub issue 1477.
2018-10-18 08:04:14 +00:00
nicm
a9ffb56b65
Add the KEYC_XTERM flag to all function keys that imply a modifier so
...
that they are correctly translated into xterm(1)-style keys. GitHub
issue 1437.
2018-08-16 14:04:03 +00:00
nicm
db44151a37
kind should be S-Down not S-Up.
2017-10-09 11:35:35 +00:00
nicm
9852bd743c
Check for complete keys before escape prefix, allows keys to be defined
...
with a leading escape. GitHub issue 1048.
2017-08-29 09:18:48 +00:00
nicm
25cf126de8
Use kind and kri for S-Up/Down as well as kUP and kDN.
2017-08-27 08:33:55 +00:00
nicm
95ed7d48c8
Add user-keys option to allow user-defined keys to be set, from Dan
...
Aloni.
2017-06-23 15:36:52 +00:00
nicm
8037159f93
Add explicit keys for the bracketed paste sequences, both to avoid mix
...
ups with other keys and to make logs clearer.
2017-06-12 07:04:24 +00:00