aboutsummaryrefslogtreecommitdiff
path: root/grid.c
Commit message (Collapse)AuthorAge
...
* Loads more static, except for cmd-*.c and window-*.c.nicm2016-10-10
|
* Remember the number of lines scrolled into the history (versus clearednicm2016-09-02
| | | | | | 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-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).
* Add RGB escape sequences for capture-pane -e.nicm2016-01-31
|
* 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
|
* Don't leak extddata, memset after freeing it, not before. From Patricknicm2015-11-22
| | | | Palka.
* 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.
* grid_put_utf8 is unused, remove it.nicm2015-11-12
|
* Free the history when it is cleared, based on a diff from Carlo Cannas.nicm2015-09-25
|
* Fix indentation of grid_string_cells_fg.nicm2015-09-02
|
* In grid_duplicate_lines, if the line is empty (cellsize == 0) then clearnicm2015-08-24
| | | | | | the destination celldata pointer rather than leaving a stale copy of the source pointer (which may later be freed). Fixes a crash found by Kuang-che Wu.
* Remove some stuff that accidentally ended up here from portable, andnicm2015-05-08
| | | | remove a little-used debug function.
* use reallocarray instead of calloc; avoid the zero before infillderaadt2015-04-23
| | | | ok nicm
* Add xreallocarray and remove nmemb argument from xrealloc.nicm2014-10-08
|
* Use xrealloc(NULL, n, m) instead of xmalloc(n * m) to get overflownicm2014-10-08
| | | | check.
* Fix some comments (c -> colour) and join unnecessary line splits.nicm2014-09-17
|
* Various minor style and spacing nits.nicm2014-09-01
|
* Memory leak in error path and unnecessary assignment, from clang.nicm2014-04-16
|
* GRID_DEBUG is no longer needed.nicm2014-03-31
|
* Style nit - no space between function name and bracket.nicm2014-02-14
|
* Allow replacing each of the many sets of separate foo-{fg,bg,attr}nicm2014-01-28
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Couple of fixes from cppcheck via Tiago Cunha.nicm2014-01-15
|
* Style and comment fixes from Tiago Cunha.nicm2014-01-09
|
* Trivial style and spacing nits.nicm2013-10-10
|
* Only include actual trailing spaces not unused cells with capturep -J,nicm2013-10-10
| | | | from George Nachman.
* Allow lastgc to be NULL in grid_string_cells so find-window doesn'tNicholas Marriott2013-03-25
| | | | crash, problem reported by eugene everson.
* Add -C and -J to capture pane to escape control sequences and to joinNicholas Marriott2013-03-22
| | | | wrapped line, based on a diff from George Nachman.
* Rework reflow code so it does not do so much allocation which should beNicholas Marriott2013-03-21
| | | | faster with large histories.
* Automatically reflow wrapped lines when a pane is resized, requested byNicholas Marriott2013-02-05
| | | | many over the years and finally implemented by Richard Woodbury.
* Rather than having two grids for each pane, one for ASCII and one forNicholas Marriott2013-01-18
| | | | | UTF-8, collapse the two together. Simplifies the code at the expense of more memory (which can probably be reduced again later).
* xfree is not particularly helpful, remove it. From Thomas Adam.Nicholas Marriott2012-07-10
|
* Use a predefined structure for not-space cells used to set attributes.Nicholas Marriott2012-05-23
|
* Merge copy mode and output mode, dropping the latter. Idea and code fromNicholas Marriott2010-04-06
| | | | Micah Cowan.
* Massive spaces->tabs and trailing whitespace cleanup, hopefully for the lastNicholas Marriott2009-12-03
| | | | | time now I've configured emacs to make them displayed in really annoying colours...
* Cleanup by moving various (mostly horrible) little bits handling UTF-8 gridNicholas Marriott2009-11-18
| | | | | | | data into functions in a new file, grid-utf8.c, and use sizeof intead of UTF8_DATA. Also nuke trailing whitespace from tmux.1, reminded by jmc.
* Move lines into the history when scrolling even if the scroll region is notNicholas Marriott2009-10-13
| | | | | | the entire screen. Allows ircII users to see history, prompted by naddy.
* Stick line length to what is actually used (removing an optimization thatNicholas Marriott2009-09-15
| | | | | | | | allowed it to be bigger), and use clear line/EOL sequences rather than spaces in copy/scroll mode. This fixes xterm copy/paste from tmux which treats trailing spaces differently from clearing a line with the escape sequences. Reported by martynas@.
* Fix grid_expand_line so it actually works when the required size is bigger thanNicholas Marriott2009-08-21
| | | | 2 * the current size.
* A few trivial optimisations: no need to check for zero size if callingNicholas Marriott2009-08-20
| | | | | | buffer_ensure in buffer.c; expand grid lines by a greater increase than one each time; and don't read UTF-8 data unless it actually needs to be checked when overwriting a cell.
* Use the right source and destination lines in grid_duplicate_lines.Nicholas Marriott2009-08-10
|
* Change the way the grid is stored, previously it was:Nicholas Marriott2009-08-08
| | | | | | | | | | | - a two-dimensional array of cells; - a two-dimensional array of utf8 data; - an array of line lengths. Now it is a single array of a new struct grid_line each of which represents a line and containts the length and an array of cells and an array of utf8 data. This will make it easier to add additional per-line members, such as flags.
* Remove a couple of unused functions and fix a type ("FALLTHOUGH"), found byNicholas Marriott2009-07-21
| | | | lint.
* Typo in grid_duplicate_lines (sy for dy) causing it to write into the wrongNicholas Marriott2009-07-16
| | | | place when copying UTF-8 data. Found by Dan Colish.
* Support "alternate screen" mode (terminfo smcup/rmcup) typically used by fullNicholas Marriott2009-07-13
| | | | | | | screen interactive programs to preserve the screen contents. When activated, it saves a copy of the visible grid and disables scrolling into and resizing out of the history; when deactivated the visible data is restored and the history reenabled.
* Limit the history to hlimit not hlimit - 1. This makes a history-limit settingNicholas Marriott2009-07-11
| | | | of 0 work as expected.
* Miscellaneous unused functions, including one which was basically aNicholas Marriott2009-06-25
| | | | duplicate. Found by lint.
* Change find-window and monitor-content to use fnmatch(3). For convenience andNicholas Marriott2009-06-24
| | | | | | | | | compatibility, *s are implicitly added at the start and end of the pattern. Also display the line number and the entire line in the results, and lose the nasty section_string function and the now empty util.c file. Initially from Tiago Cunha.
* Add a dedicated function to convert a line into a string and use it to ↵Nicholas Marriott2009-06-24
| | | | simplify the search window function.
* Remove trailing newlines, spaces, and tabs.Ray Lai2009-06-05
| | | | No binary change.