summaryrefslogtreecommitdiffstats
path: root/tty-keys.c
AgeCommit message (Collapse)Author
2024-03-21Look for feature code 21 for DECSLRM and 28 for DECFRA in the devicenicm
attributes and also accept level 1 (there is no hardware with this but some emulators may use it). Pointed out by James Holderness.
2023-09-08On second thoughts, do check DA2 for DECFRA and DECSLRM since that willnicm
catch terminals that say they are VT520 even if we can't use DA1 (because of VTE).
2023-09-08Use DECSLRM and DECFRA only at level 4 rather than checking the terminalnicm
id.
2023-09-07Use DECSLRM and DECFRA on terminals pretending to be VT520 or VT525 asnicm
well as VT420.
2023-09-07Accept 65 for VT525 as well.nicm
2023-09-02Request terminal colours again on SIGWINCH but at most once every 30nicm
seconds, GitHub issue 3582.
2023-06-30Get rid of some warnings with GCC 10, from Thomas Klausner.nicm
2023-04-17Discard mouse sequences that have the right form but actually arenicm
invalid (for example have column zero rather than one).
2023-01-09Fix behaviour with \007 (used the wrong tree for last change).nicm
2023-01-09Accept \007 as terminator to OSC 10 or 11.nicm
2023-01-03Query the client terminal for foreground and background colours and ifnicm
OSC 10 or 11 is received but no colour has been set inside tmux, return the colour from the first attached client (probably most people will have all light or or all dark terminals).
2022-11-11Tweak previous to set and log the feature instead of just setting thenicm
flag.
2022-11-11Parse primary device attributes as well as secondary and add a SIXELnicm
flag (not used yet), from Anindya Mukherjee.
2022-11-02Instead of always setting the extended flag, set it only when searching.nicm
Allows send-keys to work. From Aaron Jensen.
2022-11-01Add modified Tab key sequences, from Aaron Jensen, GitHub issue 3368.nicm
2022-07-19Process modifiers as bits rather than using a switch, from Koichi Murase.nicm
2022-06-14kf* terminfo capabilities are poorly defined and rxvt uses them in anicm
different way from xterm, so add a feature flag for rxvt to make tmux ignore the capabilities and instead rely on its builtin definitions.
2022-06-01If escape-time is 0, force to 1 instead - not waiting at all is askingnicm
for problems on some platforms.
2022-05-30If a mouse position was above the maximum supported by the normal mousenicm
protocol (223), tmux was allowing it to wrap around. However, since tmux was not correctly handling this on input, other programs also do not handle it correctly, and the alternative SGR mouse mode is now widespread, this seems unnecessary, so remove this feature. Also define some constants to make it clearer what the numbers mean. Mostly from Leonid S Usov in GitHub issue 3165.
2022-03-08Add argument to refresh-client -l to forward clipboard to a pane. GitHubnicm
issue 3068.
2022-02-16Support more mouse buttons when the terminal sends them, GitHub issuenicm
3055.
2022-02-15Do not create a buffer from an OSC 52 response if we have not sent anicm
query.
2021-10-21Correctly adjust the end pointer for a two character terminator beforenicm
decoding OSC 52 response, from Daniel Ekloef in GitHub issue 2942.
2021-08-13Break message type stuff out into its own header.nicm
2021-08-13Change focus to be driven by events rather than walking all panes at endnicm
of event loop, this way the ordering of in and out can be enforced. GitHub issue 2808.
2021-08-06Add client focus hooks.nicm
2021-06-10Add another couple of keys needed for extended keys, GitHub issue 2658.nicm
Handle modifier 9 as Meta, GitHub issue 2647.
2021-04-13Change how extended ctrl keys are processed to fix C-S-Tab and C-;.nicm
2021-04-13Handle C-Tab correctly with extended keys, GitHub issue 2642.nicm
2021-04-07Restore previous behaviour so that C-X remains the same as C-x. Instead,nicm
translate incoming extended keys so that they are consistent.
2021-04-07Fixes for extended keys: 1) allow C-x and C-X to be bound separatelynicm
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.
2020-09-23Escape+Up and the other arrow keys should be kept as Escape+Up and notnicm
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-08-24Old Terminal.app versions do not respond correctly to secondary DA,nicm
instead responding with the primary DA response. Ignore it. Reported by Dave Vandervies.
2020-07-06Always send xterm-style keys for M-Left and M-Right. GitHub issue 2296.nicm
2020-06-02Use CLOCK_MONOTONIC for timer measurement and add a timestamp to controlnicm
mode %output blocks.
2020-05-25Use the internal representation for UTF-8 keys instead of wchar_t andnicm
drop some code only needed for that.
2020-05-22FocusIn keys can also update the latest client, like normal keys.nicm
2020-05-16Add a terminal feature for enable/disable extended keys (supported bynicm
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-16Only redraw popup on the client it belongs to.nicm
2020-05-16Move terminal features into a single file.nicm
2020-05-16Response is iTerm2 not not ITerm2.nicm
2020-05-16Remove support for iTerm2's DSR 1337 extension and use the CSI > qnicm
extension now supported by a few different terminals.
2020-04-20Change how sync works to always send the end sequence after all outputnicm
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-20Tidy up the terminal detection and feature code and add named sets ofnicm
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-17Support the application escape sequence mintty (means tmux doesn't havenicm
to delay to wait for Escape).
2020-04-16Send secondary device attributes instead of primary which gives us a bitnicm
more useful information on some terminals.
2020-04-16Add support for the iTerm2 sychronized updates escape sequence whichnicm
drastically reduces flickering.
2020-01-28If we can identify the terminal as iTerm2 or as tmux, we can be surenicm
they support 256 and RGB colours, so set those flags too.
2020-01-28Add support for the iTerm2 DSR 1337 sequence to get the terminal version.nicm
2020-01-13Be more specific in the DSR we are looking for so it doesn't getnicm
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.