summaryrefslogtreecommitdiffstats
path: root/usr.bin/tmux/screen-write.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* Remember the number of lines scrolled into the history (versus clearednicm2016-09-021-2/+2
| | | | | | into the history) and when resizing only use scrolled lines and not cleared lines (which are probably not intended to reappear). From Chaoren Lin.
* Don't update cells in each block of data read from a pane immediately,nicm2016-07-151-62/+218
| | | | | | 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).
* Instead of representing colours in several different forms with variousnicm2016-07-151-6/+2
| | | | | | 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.
* Cache selected state so that cells going from selected to unselected are notnicm2016-06-061-8/+14
| | | | skipped, reported by Omar Sandoval.
* Do not draw character to screen if it has not changed, and do not savenicm2016-05-301-25/+54
| | | | | last character if it won't be used. This (and last few commits) prompted by a report from Hubert depesz Lubaczewski.
* Padding cell is always the same so use a static.nicm2016-05-271-5/+6
|
* Break the save-last-cell code into a separate function (so it can benicm2016-05-271-38/+45
| | | | called conditionally later).
* Make the grid_cell passed into screen_write_* const.nicm2016-04-291-51/+51
|
* Clear RGB flags during selection.nicm2016-01-311-2/+4
|
* I no longer use my SourceForge address so replace it.nicm2016-01-191-2/+2
|
* Style nits and line wrapping of function declarations.nicm2015-12-111-7/+7
|
* Partly revert previous, it is harmless to keep support for UTF-8 mousenicm2015-11-231-2/+2
| | | | 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-2/+2
| | | | | | | | 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-181-2/+2
|
* All these return values from utf8_* are confusing, use an enum.nicm2015-11-141-13/+13
|
* Be more strict about invalid UTF-8.nicm2015-11-141-25/+33
|
* Long overdue change to the way we store cells in the grid: now, insteadnicm2015-11-131-51/+43
| | | | | | | | | | | | | | | 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.
* Rename overly-long utf8data to ud throughout.nicm2015-11-121-20/+20
|
* Nuke the utf8 and status-utf8 options and make tmux only a UTF-8nicm2015-11-121-17/+20
| | | | | 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).
* Remove some extra blank lines.nicm2015-09-141-2/+1
|
* Revert to marking lines as wrapped on newlines, fixes problems withnicm2015-07-131-1/+3
| | | | capturep -J.
* Two improvements to reflow from Balazs Kezes:nicm2014-11-081-3/+1
| | | | | | | | - Don't extend the line to full width on insert/delete character which means leaves extra spaces when reflowing. - Only mark a line wrapped when the cursor actually goes off the end, not on newlines which can be used for positioning.
* Better format for printf format attributes.nicm2014-10-201-14/+14
|
* Copy ACS characters as UTF-8, from Balazs Kezes.nicm2014-10-021-1/+3
|
* Some more long lines.nicm2014-04-171-2/+3
|
* Allow replacing each of the many sets of separate foo-{fg,bg,attr}nicm2014-01-281-85/+2
| | | | | | | | | | | | | | | | | | | | | | | | | options with a single foo-style option. For example: set -g status-fg yellow set -g status-bg red set -g status-attr blink Becomes: set -g status-style fg=yellow,bg=red,blink The -a flag to set can be used to add to rather than replace a style. So: set -g status-bg red Becomes: set -ag status-style bg=red Currently this is fully backwards compatible (all *-{fg,bg,attr} options remain) but the plan is to deprecate them over time. From Tiago Cunha.
* RIS should reset focus reporting, from Hayaki Saito.nicm2013-05-151-2/+2
|
* Move the cursor back into the last column on CUU/CUD to match xtermnicm2013-03-271-1/+5
| | | | behaviour. From George Nachman.
* Unbreak line wrapping.nicm2013-03-221-2/+2
|
* Implement DECAWM (SM/RM 7) using existing MODE_WRAP flag.nicm2013-03-221-9/+16
|
* Support the latest theory for mouse input, this is enabled/disabled withnicm2013-03-221-2/+4
| | | | | SM/RM 1006 and is similar in style to SGR input: \033[<b;x;yM or \033[b;x;ym. From Egmont Koblinger.
* No more lint means no more ARGSUSED.nicm2013-03-221-2/+1
|
* Instead of loads of little screen_write_*_on and off functions whichnicm2013-03-211-99/+23
| | | | | just change mode flags, just have screen_write_mode_set and screen_write_mode_clear.
* Rather than having two grids for each pane, one for ASCII and one fornicm2013-01-181-77/+33
| | | | | UTF-8, collapse the two together. Simplifies the code at the expense of more memory (which can probably be reduced again later).
* Implement ECH (erase character, CSI X). Reported by Christian Neukirchen.nicm2013-01-151-1/+25
|
* Handle resetting 256-colours properly when parsing #[default],nicm2012-12-081-3/+12
| | | | #[fg=default] and #[bg=default] styles.
* Use ACS characters for choose-tree arrows based on diff from Romainnicm2012-09-241-3/+7
| | | | Francoise.
* xfree is not particularly helpful, remove it. From Thomas Adam.nicm2012-07-101-6/+7
|
* Revert screen-write.c r1.54 and fix the bug properly. After wrapping anicm2012-03-171-5/+5
| | | | | line in a pane, the cursor needs to move to the next line unless it scrolled.
* Store context off before moving the cursor when wrapping, to fix longnicm2012-03-141-4/+4
| | | | standing bug drawing over the status line.
* Support "bracketed paste" mode. This adds a -p flag to paste-buffer - ifnicm2012-03-031-1/+13
| | | | | | | this is used and the application has requested bracketed pastes, then tmux surrounds the pasted text by \033[200~ and \033[201~. Applications like vim can (apparently) use this to avoid, for example, indenting the text. From Ailin Nemui.
* Add a -R flag to send-keys to reset the terminal. Written ages ago andnicm2012-01-211-1/+19
| | | | Suggested by someone, I forget who.
* Support for \e[3J to clear the history. Also send the correspondingnicm2011-10-231-1/+12
| | | | terminfo code (E3) before locking.
* Support setting the xterm clipboard when copying from copy mode usingnicm2011-05-181-1/+13
| | | | | | | | the xterm escape sequence for the purpose (if xterm is configured to allow it). Written by and much discussed Ailin Nemui, guidance on xterm/termcap/terminfo from Thomas Dickey.
* Fix character position check, from Tiago Resende.nicm2011-04-171-2/+2
|
* Fix to properly wrap wide characters, from Micah Cowan.nicm2011-03-261-5/+7
|
* Support passing through escape sequences to the underlying terminal bynicm2011-03-071-1/+13
| | | | | | | | | | using DCS with a "tmux;" prefix. Escape characters in the sequences must be doubled. For example: $ printf '\033Ptmux;\033\033]12;red\007\033\\' Will pass \033]12;red\007 to the terminal (and change the cursor colour in xterm). From Kevin Goodsell.
* When clearing the entire screen, clear lines that are used into thenicm2011-01-251-5/+16
| | | | history like xterm does. Requested ages ago by someone I've forgotten.
* Support for UTF-8 mouse input (\033[1005h). This was added in xterm 262nicm2011-01-031-1/+13
| | | | | | | | | | and supports larger terminals than the older way. If the new mouse-utf8 option is on, UTF-8 mouse input is enabled for all UTF-8 terminals. The option defaults to on if LANG etc are set in the same manner as the utf8 option. With help and based on code from hsim at gmx.li.
* Support all four of the xterm mouse modes. Based on a diff from hsim atnicm2010-12-291-7/+14
| | | | gmx.li.