aboutsummaryrefslogtreecommitdiff
path: root/grid-view.c
Commit message (Collapse)AuthorAge
* Move the code to set up a padding cell into grid.c.nicm2020-06-02
|
* grid_view_delete_cells does need to clear, GitHub issue 1871.nicm2019-08-16
|
* Fix grid clear code to correctly clear with the default backgroundnicm2019-07-16
| | | | | colour rather than ending up with the used count higher than the total size, GitHub issue 1829.
* Add accessors for grid linedata member, for some future work. From Dannicm2018-07-04
| | | | Aloni.
* Instead of overloading the line clear function to mean free ifnicm2017-08-30
| | | | | | | background is default (8), introduce an explicit free function and use it where a free alone is needed. Likewise, use memmove directly rather than grid_move_lines where it makes sense. Based on a memory leak fix by Dan Aloni in GitHub issue 1051.
* Scrolling needs to use background colour.nicm2017-05-12
|
* Handle insert cells when cursor at edge of screen correctly, and do anicm2017-02-16
| | | | full flush before insert.
* 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).
* 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.
* 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.
* I no longer use my SourceForge address so replace it.nicm2016-01-19
|
* Two spacing and spelling nits.nicm2015-11-13
|
* 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.
* Revert to r1.16 since this is still clearly broken and I can't see hownicm2015-01-06
| | | | right now.
* Another fix for insertion from Balazs Kezes. On insertion, size the linenicm2014-12-01
| | | | just enough for the inserted characters.
* Restore change in r1.17 but add checks to prevent the line lengthnicm2014-11-12
| | | | overflowing, from Balazs Kezes.
* Revert r1.17 as it breaks inserting in some cases.nicm2014-11-10
|
* Two improvements to reflow from Balazs Kezes:nicm2014-11-08
| | | | | | | | - 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.
* Some more long lines.nicm2014-04-17
|
* GRID_DEBUG is no longer needed.nicm2014-03-31
|
* Preserve trailing spaces with capture-pane -J, from George Nachman.Nicholas Marriott2013-03-25
|
* 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.
* 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).
* Enforce history-limit option when clearing the screen, memory leakNicholas Marriott2012-01-29
| | | | spotted by R I Pienaar.
* When clearing the entire screen, clear lines that are used into theNicholas Marriott2011-01-25
| | | | history like xterm does. Requested ages ago by someone I've forgotten.
* 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...
* 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.
* 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.
* Change inserting and deleting lines inside the scroll region to properly clearNicholas Marriott2009-07-09
| | | | | lines that should be inserted/deleted but not moved. Fixes problems with mutt reported by Brian Lewis, thanks.
* Tidy by removing unused argument from grid_view_{insert,delete}_line_regionNicholas Marriott2009-07-09
| | | | functions (currently don't fully work, this is to make fix easier).
* Fix two errors with character/line insertion and deletion: the maximum numberNicholas Marriott2009-06-29
| | | | | | | | | | of characters which may be inserted or deleted is the screen width, not one less (and similarly for lines and height); and if characters or lines are deleted by moving the ones that follow, the space at the end needs to be cleared. This appears to solve long-standing redraw issues most visible when using the force-width option then scrolling in view(1) or unwrapping lines in emacs.
* Add a dedicated function to convert a line into a string and use it to ↵Nicholas Marriott2009-06-24
| | | | simplify the search window function.
* Import tmux, a terminal multiplexor allowing (among other things) a singleNicholas Marriott2009-06-01
terminal to be switched between several different windows and programs displayed on one terminal be detached from one terminal and moved to another. ok deraadt pirofti