aboutsummaryrefslogtreecommitdiff
path: root/input.c
Commit message (Collapse)AuthorAge
* Make set-clipboard a three-state option so tmux itself can ignore thenicm2017-06-03
| | | | sequencess.
* Support OSC 10 and 11 to set foreground and background colours, fromnicm2017-05-28
| | | | "bertnp" in GitHub issue 942.
* Scrolling needs to use background colour.nicm2017-05-12
|
* ECH needs to use background colour.nicm2017-05-12
|
* We need to collect UTF-8 characters so that width != 1 characters arenicm2017-04-22
| | | | correctly flushed.
* Add support for the strikethrough attribute (SGR 9), using the new smxxnicm2017-03-22
| | | | | 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-19
|
* There are buggy terminals out there that do not move the cursor to 0,0nicm2017-02-16
| | | | 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-08
| | | | possible instead of sending individual line feeds.
* Collect sequences of printable ASCII characters and process themnicm2017-02-08
| | | | | | | | | | | | | | | 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-08
|
* Use DECFRA on VT420 compatible terminals (so, xterm) and ED on allnicm2017-02-06
| | | | others for clearing panes.
* Add BCE for clear to start of screen, which was somehow missed.nicm2017-02-06
|
* Fix logging of CSI parameters.nicm2017-02-06
|
* Implement "all event" (1003) mouse mode but in a way that works. Thenicm2017-02-01
| | | | | | | | | | | 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-22
| | | | harry dot gindi at live dot com.
* Add support for the OSC 4 and OSC 104 palette setting escape sequences,nicm2017-01-07
| | | | from S Gilles.
* Spacing nits.nicm2016-12-09
|
* Add support for BCE (background colour erase). This makes various escapenicm2016-10-13
| | | | | | | | | | | | 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-03
| | | | functions static.
* Couple of vasprintf -> xvasprintf.nicm2016-09-28
|
* Instead of representing colours in several different forms with variousnicm2016-07-15
| | | | | | 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-02
| | | | | 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-29
| | | | | | | | 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-19
|
* A couple of missing printflike attributes, from Andrey Starodubtsev.nicm2016-01-15
|
* send-keys -R should reset the input parser to ground state (so it can benicm2015-12-16
| | | | used to escape from, for example, printf '\033]2;').
* Partly revert previous, it is harmless to keep support for UTF-8 mousenicm2015-11-23
| | | | 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-23
| | | | | | | | 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-18
| | | | of xrealloc, xvasprintf, xvsnprintf.
* The character is an int so use %x not %hhx.nicm2015-11-14
|
* All these return values from utf8_* are confusing, use an enum.nicm2015-11-14
|
* Be more strict about invalid UTF-8.nicm2015-11-14
|
* Log more of UTF-8 input.nicm2015-11-14
|
* Long overdue change to the way we store cells in the grid: now, insteadnicm2015-11-13
| | | | | | | | | | | | | | | 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.
* Nuke the utf8 and status-utf8 options and make tmux only a UTF-8nicm2015-11-12
| | | | | 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).
* Move struct options into options.c.nicm2015-10-27
|
* Log pane which received input data.nicm2015-09-02
|
* Tweak some error messages/comments.nicm2015-09-01
|
* Log the whole new input buffer once rather than each byte.nicm2015-09-01
|
* Move alerts onto events rather than checking every loop.nicm2015-08-29
|
* Only do the automatic-rename dance if the pane has changed (seen output,nicm2015-08-28
| | | | or new active pane).
* When searching for tabs, start from screen width, fixes out-of-boundsnicm2015-08-25
| | | | read found by Kuang-che Wu.
* Reset G0/G1 state when resetting everything else with send-keys -R.nicm2015-07-13
|
* Add window_activity format, from Thomas Adam based on a diff originallynicm2015-06-15
| | | | from propos6 at gmail dot com.
* Handle the RGB colour escape sequence (\033[38;2;<r>;<g>;<b>m and 48;2)nicm2015-06-05
| | | | like xterm(1) does, by mapping to the nearest in the 256 colour palette.
* teminal -> terminal, from Corey Farwell.nicm2015-06-04
|
* Missing t at end of response, from Vincent Bernat.nicm2015-06-01
|
* Remove the c0-* options which never really worked satisfactorily. Goingnicm2015-05-11
| | | | to try something else...
* Move input parser structs into input.c (removing fairly uselessnicm2015-05-08
| | | | saved_cursor_[xy] formats as a side-effect).