aboutsummaryrefslogtreecommitdiff
path: root/tty.c
Commit message (Collapse)AuthorAge
...
* Add not delete the event if more to write.nicm2017-02-10
|
* Don't use a bufferevent for the tty, so we can keep better track of whatnicm2017-02-10
| | | | | | is being written and when. Also a manpage typo fix from jmc@.
* Another helper function to write to terminal and log.nicm2017-02-08
|
* Do not adjust region lower by pane offset when scrolling up, it isnicm2017-02-08
| | | | already an absolute position.
* 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).
* Fix clear start of line.nicm2017-02-08
|
* Some other tidying bits.nicm2017-02-08
|
* Remove unnecessary duplicate check.nicm2017-02-08
|
* Improve some of the logging on resize.nicm2017-02-08
|
* Log size of output buffer as well.nicm2017-02-08
|
* Trying to avoid the occasional newline by saving the last cell on screennicm2017-02-08
| | | | | is not actually helping us much and just adds complexity, so don't bother.
* Do not clear the scroll region, instead set it to the scroll region wenicm2017-02-07
| | | | actually want.
* DECSLRM in xterm(1) appears to have a quirk where it can generate annicm2017-02-07
| | | | | extra scroll of the entire terminal; issuing DECSTBM first prevents this. Do that for now.
* Unfortunately DECFRA does not handle default colours properly (it doesnicm2017-02-07
| | | | | not reset colours when in SGR 0), so we can't use it without more trouble than it is worth. Abandon the idea for now.
* Use DECFRA on VT420 compatible terminals (so, xterm) and ED on allnicm2017-02-06
| | | | others for clearing panes.
* Do not go through the whole attributes setting process if the new cellnicm2017-02-06
| | | | is the same as the previous one.
* Add BCE for clear to start of screen, which was somehow missed.nicm2017-02-06
|
* Only redraw the modified character when adding combining characters, notnicm2017-02-06
| | | | the whole line.
* 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.
* aixterm colours can be used if -2 is given, as well as if TERM tells usnicm2017-01-12
| | | | the terminal has >=16 colours.
* Fix setting the palette of aixterm colours (90-97).nicm2017-01-12
|
* Be less aggressive about turning margins off.nicm2017-01-11
|
* Add some missing special keys to key_string_lookup_key, fix a mousenicm2017-01-11
| | | | check in server_client_handle_key, and tweak a comment.
* Add a format for terminal type.nicm2017-01-11
|
* Add support for the OSC 4 and OSC 104 palette setting escape sequences,nicm2017-01-07
| | | | from S Gilles.
* Only skip moving the cursor if it is already in the last position _onnicm2016-12-07
| | | | the same line_, fixes redraw bug reported by patrick keshishian.
* Fix check for cursor at end of line.nicm2016-11-30
|
* When comparing ocy to orlower in tty_cmd_cell, there is no need to addnicm2016-11-28
| | | | | yoff (because they are both already relative to the pane). Also fix some other minor nits.
* Fix calculation of whether we need a region for drawing a cell (only ifnicm2016-11-16
| | | | full width and at the edge of the region), otherwise clear the region entirely.
* Turn on margins, with a couple of fixes (only limit to the pane for linenicm2016-11-15
| | | | feeds, and do not move cursor to end for full width panes).
* And of course I just find a bug, disable previous for now.nicm2016-11-15
|
* Initial attempt to make use of left and right margins if the terminalnicm2016-11-15
| | | | | | | supports them (that is, if it advertises itself as a VT420 - probably just xterm). These are the vertical equivalent of the scroll region and allow much faster scrolling of panes that do not take up the full width of the terminal.
* Don't make assumptions about line wrap on !xenl terminals, means thatnicm2016-10-14
| | | | | using a wrong TERM without xenl is not so broken if used on a sensible terminal.
* 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.
* Redraw selection in tty_draw_line, so it appears when redrawing wholenicm2016-10-12
| | | | pane. Reported by Theo Buehler.
* Add static in window-*.c and move some internal functions out of tmux.h.nicm2016-10-11
|
* Loads more static, except for cmd-*.c and window-*.c.nicm2016-10-10
|
* Remove some redundant checks and make ich/dch consistent.nicm2016-10-03
|
* Don't update cells in each block of data read from a pane immediately,nicm2016-07-15
| | | | | | instead track them as change (dirty) and update them once at the end, saves much time if repeatedly writing the same cell. Also fix comparison of cells being equal in a few places (memcmp is not enough).
* Cache the window styles and do not look up the window-style optionsnicm2016-05-30
| | | | unless they have changed.
* Send two cub1 instead of using cub for moving the cursor two left. Thisnicm2016-05-30
| | | | | is normally better because using cub1 will be ^H^H (so two bytes) but cub would be ^[[2D (four).
* tty_client_ready can not be internal to tty.c again.nicm2016-04-30
|
* RGB colours shouldn't be mixed up with aixterm colours, return beforenicm2016-03-03
| | | | that happens when working out if they are supported.
* 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
|
* Couple of trivial style nits.nicm2015-12-28
|
* Style nits and line wrapping of function declarations.nicm2015-12-11
|
* 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.
* Use __unused rather than rolling our own.nicm2015-11-18
|