summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/input.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Support OSC 52 ? to read the top buffer inside tmux (when set-clipboardnicm2018-10-181-34/+86
| | | | | | 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.
* Support for extended underline styles on terminals which offer them,nicm2018-10-181-7/+41
| | | | | enabled by adding the Smulx capability with terminal-overrides (add something like ',vte*:Smulx=\E[4\:%p1%dm'). GitHub issue 1492.
* Add the KEYC_XTERM flag to all function keys that imply a modifier sonicm2018-08-161-2/+2
| | | | | that they are correctly translated into xterm(1)-style keys. GitHub issue 1437.
* Clear history on RIS like most other terminals do.nicm2018-07-311-1/+2
|
* A couple of fixes to the : form of SGR. Apparently there is an extranicm2018-04-101-10/+17
| | | | | argument that nobody knew about, so skip that if it exists. Also there are a bunch of useless optional arguments at the end, so ignore those.
* Fix link, from Eliran Gonen.nicm2018-04-061-2/+2
|
* For some reason tmux treats SGR 10 as SGR 0. It has done since the firstnicm2018-03-051-2/+1
| | | | | version and I'm not sure why since no other terminal appears to. Change to just ignore SGR 10 instead.
* Support ISO colon-separated SGR.nicm2018-02-191-72/+227
|
* Simplify UTF-8 states down into one state.nicm2018-01-121-99/+23
|
* Add support for the xterm(1) title stack, from Brad Town, GitHub issuenicm2017-10-051-2/+23
| | | | 1075.
* Apply timeout to CAN and RS which also wait for ST.nicm2017-09-101-2/+2
|
* Support REP escape sequence (\033[b).nicm2017-08-291-2/+25
|
* Add a hook when the clipboard is set.nicm2017-06-091-1/+2
|
* Add a timeout to prevent the sequences which wait for a specificnicm2017-06-041-10/+50
| | | | | | terminator (OSC, APC and DCS) waiting forever, which helps to avoid garbage (cat /dev/random) locking up panes completely. This (and the last commit) prompted by a discussion with theo.
* Be more strict about escape sequences that rename windows or set titles:nicm2017-06-041-5/+10
| | | | | ignore any that not valid UTF-8 outright, and for good measure pass the result through our UTF-8-aware vis(3).
* Make set-clipboard a three-state option so tmux itself can ignore thenicm2017-06-031-7/+10
| | | | sequencess.
* Support OSC 10 and 11 to set foreground and background colours, fromnicm2017-05-281-3/+47
| | | | "bertnp" in GitHub issue 942.
* Scrolling needs to use background colour.nicm2017-05-121-6/+7
|
* ECH needs to use background colour.nicm2017-05-121-2/+3
|
* We need to collect UTF-8 characters so that width != 1 characters arenicm2017-04-221-2/+2
| | | | correctly flushed.
* Add support for the strikethrough attribute (SGR 9), using the new smxxnicm2017-03-221-1/+7
| | | | | terminfo capability. This means there are now nine attribute bits, so anything above 0xff uses an extended cell.
* Add SGR 28 to clear hidden flag.nicm2017-02-191-1/+4
|
* There are buggy terminals out there that do not move the cursor to 0,0nicm2017-02-161-2/+2
| | | | after CSR, so invalidate the cursor position rather than assuming 0,0.
* Add support for scroll up escape sequence (CSI S) and use it whennicm2017-02-081-1/+6
| | | | possible instead of sending individual line feeds.
* Collect sequences of printable ASCII characters and process themnicm2017-02-081-2/+12
| | | | | | | | | | | | | | | 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).
* Some other tidying bits.nicm2017-02-081-2/+1
|
* Use DECFRA on VT420 compatible terminals (so, xterm) and ED on allnicm2017-02-061-1/+2
| | | | others for clearing panes.
* Add BCE for clear to start of screen, which was somehow missed.nicm2017-02-061-2/+2
|
* Fix logging of CSI parameters.nicm2017-02-061-4/+7
|
* Implement "all event" (1003) mouse mode but in a way that works. Thenicm2017-02-011-1/+6
| | | | | | | | | | | 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.
* Accept the OSC 52 escape sequence inside tmux to add a new buffer, fromnicm2017-01-221-1/+42
| | | | harry dot gindi at live dot com.
* Add support for the OSC 4 and OSC 104 palette setting escape sequences,nicm2017-01-071-1/+82
| | | | from S Gilles.
* Spacing nits.nicm2016-12-091-2/+2
|
* Add support for BCE (background colour erase). This makes various escapenicm2016-10-131-12/+18
| | | | | | | | | | | | sequences (notable EL and ED but also IL, DL, ICH, DCH) create blank cells using the current background colour rather than the default colour. On modern systems BCE doesn't really have many benefits, but most other terminals now support it, some (lazy) applications rely on it, and it is not hard to include now that we have pane background colours anyway. Mostly written by Sean Haugh.
* Remove some dead code in cmd-move-window.c and make a load of localnicm2016-10-031-129/+130
| | | | functions static.
* Couple of vasprintf -> xvasprintf.nicm2016-09-281-2/+2
|
* Instead of representing colours in several different forms with variousnicm2016-07-151-34/+11
| | | | | | cell flags, convert to use an int with flags marking 256 or RGB colours in the top byte (except in cells, which we don't want to make any bigger). From Brad Town.
* Handle wcwidth() and mbtowc() failures in better style and dropnicm2016-03-021-3/+9
| | | | | characters where we can't find the width (wcwidth() fails) on input, the same as we drop invalid UTF-8. Suggested by schwarze@.
* Support for RGB colour, using the extended cell mechanism to avoidnicm2016-01-291-15/+22
| | | | | | | | wasting unnecessary space. The 'Tc' flag must be set in the external TERM entry (using terminal-overrides or a custom terminfo entry), if not tmux will map to the closest of the 256 or 16 colour palettes. Mostly from Suraj N Kurapati, based on a diff originally by someone else.
* I no longer use my SourceForge address so replace it.nicm2016-01-191-2/+2
|
* A couple of missing printflike attributes, from Andrey Starodubtsev.nicm2016-01-151-2/+2
|
* send-keys -R should reset the input parser to ground state (so it can benicm2015-12-161-22/+24
| | | | used to escape from, for example, printf '\033]2;').
* Partly revert previous, it is harmless to keep support for UTF-8 mousenicm2015-11-231-1/+7
| | | | mode inside tmux, just no longer support it for tmux itself.
* Remove support for the UTF-8 mouse extension. This was a briefly used,nicm2015-11-231-7/+1
| | | | | | | | poor idea that was fairly quickly replaced by SGR mouse input (which is now widespread). It is impossible to tell the difference between UTF-8 and non-UTF-8 mouse input; since the mouse-utf8 option was removed tmux has not handled it correctly in any case; and it is ridiculous to have three different forms of mouse input.
* Sync the entire xmalloc.[ch] with the other users, but with the additionnicm2015-11-181-4/+4
| | | | of xrealloc, xvasprintf, xvsnprintf.
* The character is an int so use %x not %hhx.nicm2015-11-141-4/+4
|
* All these return values from utf8_* are confusing, use an enum.nicm2015-11-141-4/+4
|
* Be more strict about invalid UTF-8.nicm2015-11-141-6/+9
|
* Log more of UTF-8 input.nicm2015-11-141-7/+16
|
* Long overdue change to the way we store cells in the grid: now, insteadnicm2015-11-131-3/+3
| | | | | | | | | | | | | | | of storing a full grid_cell with UTF-8 data and everything, store a new type grid_cell_entry. This can either be the cell itself (for ASCII cells), or an offset into an extended array (per line) for UTF-8 data. This avoid a large (8 byte) overhead on non-UTF-8 cells (by far the majority for most users) without the complexity of the shadow array we had before. Grid memory without any UTF-8 is about half. The disadvantage that cells can no longer be modified in place and need to be copied out of the grid and back but it turned out to be lot less complicated than I expected.