aboutsummaryrefslogtreecommitdiff
path: root/screen.c
Commit message (Collapse)AuthorAge
* Sync OpenBSD patchset 226:Tiago Cunha2009-08-09
| | | | | | | | | | | | | | Change the way the grid is stored, previously it was: - 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 contains 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.
* Sync OpenBSD patchset 207:Tiago Cunha2009-07-30
| | | | | Plug some memory leaks.
* When resizing a screen smaller in alternate screen mode, all the lines neededNicholas Marriott2009-07-18
| | | | | | | could be consumed by deleting from the bottom, leaving none to be removed from the top. In this case, don't call grid_view_delete_lines with ny of 0 as this is incorrect and causes a bounds check to fatal error if built with -DDEBUG.
* When resizing a screen smaller in alternate screen mode, all the lines neededNicholas Marriott2009-07-17
| | | | | | | could be consumed by deleting from the bottom, leaving none to be removed from the top. In this case, don't call grid_view_delete_lines with ny of 0 as this is incorrect and causes a bounds check to fatal error if built with -DDEBUG.
* Support "alternate screen" mode (terminfo smcup/rmcup) typically used by fullNicholas Marriott2009-07-14
| | | | | | | | 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.
* When the terminal size is reduced horizontally, don't truncate lines to the newNicholas Marriott2009-07-12
| | | | | | width, so that if the same lines are later increased in size the content reappears.
* Fix $Id$.Nicholas Marriott2009-07-08
|
* When reinitialising the screen, do not omit to clear the last line.Nicholas Marriott2009-07-08
|
* vis compat stuff.Nicholas Marriott2009-06-25
|
* Restore $Id$ and add script to do so.Nicholas Marriott2009-06-25
|
* Fix a type mismatch warning in assignment.Nicholas Marriott2009-06-25
|
* Change to match xterm's resizing behaviour, including pushing lines into theNicholas Marriott2009-06-25
| | | | | | history from the top when reducing vertical size and pulling them again when increasing size.
* Proper support for tab stops (\033H etc), using a bitstring(3). Makes anotherNicholas Marriott2009-06-25
| | | | | vttest test happy.
* Pass window titles through vis(1). <0x20 is dropped anyway by the input stateNicholas Marriott2009-06-25
| | | | | | machine but top-bit-set nonprintables could cause trouble, and they are neater like this anyway.
* Space trimmage mega-diff.Nicholas Marriott2009-05-04
|
* Better UTF-8 support, including combined characters. Unicode data is now storedNicholas Marriott2009-03-28
| | | | | | | | | | | as UTF-8 in a separate array, the code does a lookup into this every time it gets to a UTF-8 cell. Zero width characters are just appended onto the UTF-8 data for the previous cell. This also means that almost no bytes extra are wasted non-Unicode data (yay). Still some oddities, such as copy mode skips over wide characters in a strange way, and the code could do with some tidying.
* Step 2 of the Grand Plan To Make UTF-8 Better.Nicholas Marriott2009-03-28
| | | | | | | | | | | | | | | | | | | Split grid into two arrays, one containing grid attributes/flags/colours (keeps the name grid_cell for now) and a separate with the character data (called text). The text is stored as a u_short but is treated as a uint64_t elsewhere; eventually the grid will have two arrays. I'm not happy with the naming so that might change. Still need to decide where to go from here. I'm not sure whether to combine the peek/set functions together, and also whether to continue to treat the text as a uint64_t (and convert to/from Unicode) or make it a char array (of size one when UTF-8 disabled, eight when enabled) and keep everything as UTF-8. Also since UTF-8 will eventually become an attribute of the grid itself it might be nice to move all the padding crap into grid.c.
* struct grid_data -> struct grid. Stage 1 of the Grand Plan To Make UTF-8 Better.Nicholas Marriott2009-03-28
|
* Trim spaces.Nicholas Marriott2009-01-10
|
* Make window options work the same was as session options, add ↵Nicholas Marriott2008-12-08
| | | | mode-fg/mode-bg options, force -g for global on set/show/setw/showw/
* Clear correct range.Nicholas Marriott2008-10-09
|
* Shut gcc up.Nicholas Marriott2008-09-29
|
* UINT_MAX.Nicholas Marriott2008-09-29
|
* Trim.Nicholas Marriott2008-09-26
|
* Internal screen data rewrite for better 256 colour/UTF-8 support.Nicholas Marriott2008-09-25
|
* Rename some functions.Nicholas Marriott2008-09-10
|
* Split colour functions from screen.Nicholas Marriott2008-09-10
|
* Initial UTF-8 support.Nicholas Marriott2008-09-09
|
* Fix bold/non-bold mismatch in 256 colour mode by adding an extra 8 bits ↵Nicholas Marriott2008-09-08
| | | | (ick) onto the attributes and using two of them to mark the fg and bg as 256 colours when necessary. If only it was 255 colours we would have one value for default and wouln't need this :-/.
* Initial 256 colour support, lightly tested.Nicholas Marriott2008-09-08
|
* Support keypad mode, and get rid of SCREEN_DEF*. Meant to commit these ↵Nicholas Marriott2008-07-24
| | | | separately but forgot :-/.
* These flags are off by default.Nicholas Marriott2008-07-24
|
* Handle kcursor+kkeypad (switch to OA from [A).Nicholas Marriott2008-07-24
|
* Zombie windows, requested by Will Maier.Nicholas Marriott2008-06-29
|
* Trimify.Nicholas Marriott2008-06-18
|
* Clear blank area properly on redraw, and add a marker line below it.Nicholas Marriott2008-06-14
|
* Per-session configuration options.Nicholas Marriott2008-06-03
|
* Some key tweaks, fix status bar to not rely on attr.Nicholas Marriott2008-01-03
|
* Filling with the right attr should be done in screen-display.c.Nicholas Marriott2007-12-06
|
* Use the current attr/colours for filling in new areas, this fixes the echo ↵Nicholas Marriott2007-12-06
| | | | \\033[35\;46m\\033[2J bug.
* Major reorganisation of screen handling.Nicholas Marriott2007-12-06
|
* The tty code already stores attributes and doesn't modify them if unaltered, ↵Nicholas Marriott2007-12-02
| | | | so the screen drawing code doesn't need to do so too. This probably also fixes bugs when switching screens where the actual tty attributes may not have been what the draw code (erroneously) expected.
* Change window name on \ek...\e\.Nicholas Marriott2007-11-30
|
* Turn mouse on/off as appropriate.Nicholas Marriott2007-11-28
|
* Flush data on tty open. Also reset colour before clearing line/screen.Nicholas Marriott2007-11-27
|
* Minor tweaks/missed bits.Nicholas Marriott2007-11-27
|
* Big internal reorganisation to move tty control into parent.Nicholas Marriott2007-11-27
|
* This is better than disabling it.Nicholas Marriott2007-11-26
|
* Rv EOL optimisation, it screws up selection.Nicholas Marriott2007-11-26
|
* Disable this optimisation since cursor can be updated by stuff outside.Nicholas Marriott2007-11-25
|