summaryrefslogtreecommitdiffstats
path: root/input.c
AgeCommit message (Collapse)Author
2016-03-02Handle wcwidth() and mbtowc() failures in better style and dropnicm
characters where we can't find the width (wcwidth() fails) on input, the same as we drop invalid UTF-8. Suggested by schwarze@.
2016-01-29Support for RGB colour, using the extended cell mechanism to avoidnicm
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.
2016-01-19I no longer use my SourceForge address so replace it.nicm
2016-01-15A couple of missing printflike attributes, from Andrey Starodubtsev.nicm
2015-12-16send-keys -R should reset the input parser to ground state (so it can benicm
used to escape from, for example, printf '\033]2;').
2015-11-23Partly revert previous, it is harmless to keep support for UTF-8 mousenicm
mode inside tmux, just no longer support it for tmux itself.
2015-11-23Remove support for the UTF-8 mouse extension. This was a briefly used,nicm
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.
2015-11-18Sync the entire xmalloc.[ch] with the other users, but with the additionnicm
of xrealloc, xvasprintf, xvsnprintf.
2015-11-14The character is an int so use %x not %hhx.nicm
2015-11-14All these return values from utf8_* are confusing, use an enum.nicm
2015-11-14Be more strict about invalid UTF-8.nicm
2015-11-14Log more of UTF-8 input.nicm
2015-11-13Long overdue change to the way we store cells in the grid: now, insteadnicm
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.
2015-11-12Nuke the utf8 and status-utf8 options and make tmux only a UTF-8nicm
terminal. We still support non-UTF-8 terminals outside tmux, but inside it is always UTF-8 (as when the utf8 and status-utf8 options were on).
2015-10-27Move struct options into options.c.nicm
2015-09-02Log pane which received input data.nicm
2015-09-01Tweak some error messages/comments.nicm
2015-09-01Log the whole new input buffer once rather than each byte.nicm
2015-08-29Move alerts onto events rather than checking every loop.nicm
2015-08-28Only do the automatic-rename dance if the pane has changed (seen output,nicm
or new active pane).
2015-08-25When searching for tabs, start from screen width, fixes out-of-boundsnicm
read found by Kuang-che Wu.
2015-07-13Reset G0/G1 state when resetting everything else with send-keys -R.nicm
2015-06-15Add window_activity format, from Thomas Adam based on a diff originallynicm
from propos6 at gmail dot com.
2015-06-05Handle the RGB colour escape sequence (\033[38;2;<r>;<g>;<b>m and 48;2)nicm
like xterm(1) does, by mapping to the nearest in the 256 colour palette.
2015-06-04teminal -> terminal, from Corey Farwell.nicm
2015-06-01Missing t at end of response, from Vincent Bernat.nicm
2015-05-11Remove the c0-* options which never really worked satisfactorily. Goingnicm
to try something else...
2015-05-08Move input parser structs into input.c (removing fairly uselessnicm
saved_cursor_[xy] formats as a side-effect).
2015-03-31Fix some format specifier nits, from Ben Boeckel.nicm
2015-01-20Support blinking cursor mode, both the xterm CSI ?12 h/l and (thenicm
backwards) screen CSI 34 h/l. From Guanpeng Xu.
2014-10-08Add xreallocarray and remove nmemb argument from xrealloc.nicm
2014-08-09Remove support for the continuous reporting "any" mouse mode which nevernicm
really worked properly and is rarely used.
2014-06-06Properly track switching G0 and G1 modes between US-ASCII and VT100 linenicm
drawing rather than just treating them as SO and SI.
2014-04-17Don't limit the DCS buffer to 256 bytes, expand it as needed. Requestednicm
by Suraj Kurapati.
2014-03-31Change secondary device attributes response to \033[>84;0;0c which isnicm
unique for tmux.
2014-01-31Add \033[18t window operations from J Raynor.nicm
2013-10-10Accept multiple parameters to SM/RM/DECSET/DECRST, based on a diff fromnicm
Hayaki Saito.
2013-06-23Always push a focus event when the application turns it on, prompted byNicholas Marriott
discussion with Hayaki Saito a while ago.
2013-03-24Add support for focus notifications when tmux pane changes, based onNicholas Marriott
work by Aaron Jensen.
2013-03-22Implement DECAWM (SM/RM 7) using existing MODE_WRAP flag.Nicholas Marriott
2013-03-22Support the latest theory for mouse input, this is enabled/disabled withNicholas Marriott
SM/RM 1006 and is similar in style to SGR input: \033[<b;x;yM or \033[b;x;ym. From Egmont Koblinger.
2013-03-21Instead of loads of little screen_write_*_on and off functions whichNicholas Marriott
just change mode flags, just have screen_write_mode_set and screen_write_mode_clear.
2013-01-18Rather than having two grids for each pane, one for ASCII and one forNicholas Marriott
UTF-8, collapse the two together. Simplifies the code at the expense of more memory (which can probably be reduced again later).
2013-01-17Do not allow cursor colours to be set beginning with ? as that willNicholas Marriott
report the colour, from Hayaki Saito.
2013-01-15Implement ECH (erase character, CSI X). Reported by Christian Neukirchen.Nicholas Marriott
2012-11-27Support the 47 and 1047 SM and RM sequences (alternate screen withoutNicholas Marriott
cursor), requested by I forget who ages ago.
2012-09-25Add notification for input from a pane, from George Nachman.Nicholas Marriott
2012-07-10xfree is not particularly helpful, remove it. From Thomas Adam.Nicholas Marriott
2012-04-25Add a buffer with all input from last ground state, will be used forNicholas Marriott
control mode. From George Nachman.
2012-03-20Add a simple form of output rate limiting by counting the number ofNicholas Marriott
certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 50/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval. This makes tmux much more responsive under very fast output (for example yes(1) or accidentally cat'ing a large file) but may not be perfect on all terminals and connections - feedback very welcome, particularly where this change has a negative rather than positive effect (making it off by default is a possibility). After much experimentation based originally on a request Robin Lee Powell (which ended with a completely different solution), this idea from discussion with Ailin Nemui.