summaryrefslogtreecommitdiffstats
path: root/screen.c
AgeCommit message (Collapse)Author
2010-12-11Fix rectangle copy to behave like emacs - the cursor is not part of theNicholas Marriott
selection on the right edge but on the left it is.
2010-07-19Solaris has MAXHOSTNAMELEN in netdb.h.Nicholas Marriott
2010-04-06From Bob Beck:Nicholas Marriott
rather than using an empty "" as the default window title, put the hostname of the machine we are running on in there. makes my many green lines easier to deal with without using fiddly options to set it.
2010-04-05Merge output (more) and copy modes into one single mode (called copy).Micah Cowan
2010-02-08Sync OpenBSD patchset 636:Tiago Cunha
Rectangle copy support, from Robin Lee Powell.
2010-01-05Sync OpenBSD patchset 598:Tiago Cunha
Fix selection behaviour when the cursor is moved backwards (ie so the selection start is after the end).
2009-12-04Sync OpenBSD patchset 581:Tiago Cunha
Massive spaces->tabs and trailing whitespace cleanup, hopefully for the last time now I've configured emacs to make them displayed in really annoying colours...
2009-08-09Sync OpenBSD patchset 226:Tiago Cunha
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.
2009-07-30Sync OpenBSD patchset 207:Tiago Cunha
Plug some memory leaks.
2009-07-18When resizing a screen smaller in alternate screen mode, all the lines neededNicholas Marriott
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.
2009-07-17When resizing a screen smaller in alternate screen mode, all the lines neededNicholas Marriott
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.
2009-07-14Support "alternate screen" mode (terminfo smcup/rmcup) typically used by fullNicholas Marriott
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.
2009-07-12When the terminal size is reduced horizontally, don't truncate lines to the newNicholas Marriott
width, so that if the same lines are later increased in size the content reappears.
2009-07-08Fix $Id$.Nicholas Marriott
2009-07-08When reinitialising the screen, do not omit to clear the last line.Nicholas Marriott
2009-06-25vis compat stuff.Nicholas Marriott
2009-06-25Restore $Id$ and add script to do so.Nicholas Marriott
2009-06-25Fix a type mismatch warning in assignment.Nicholas Marriott
2009-06-25Change to match xterm's resizing behaviour, including pushing lines into theNicholas Marriott
history from the top when reducing vertical size and pulling them again when increasing size.
2009-06-25Proper support for tab stops (\033H etc), using a bitstring(3). Makes anotherNicholas Marriott
vttest test happy.
2009-06-25Pass window titles through vis(1). <0x20 is dropped anyway by the input stateNicholas Marriott
machine but top-bit-set nonprintables could cause trouble, and they are neater like this anyway.
2009-05-04Space trimmage mega-diff.Nicholas Marriott
2009-03-28Better UTF-8 support, including combined characters. Unicode data is now storedNicholas Marriott
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.
2009-03-28Step 2 of the Grand Plan To Make UTF-8 Better.Nicholas Marriott
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.
2009-03-28struct grid_data -> struct grid. Stage 1 of the Grand Plan To Make UTF-8 Better.Nicholas Marriott
2009-01-10Trim spaces.Nicholas Marriott
2008-12-08Make window options work the same was as session options, add ↵Nicholas Marriott
mode-fg/mode-bg options, force -g for global on set/show/setw/showw/
2008-10-09Clear correct range.Nicholas Marriott
2008-09-29Shut gcc up.Nicholas Marriott
2008-09-29UINT_MAX.Nicholas Marriott
2008-09-26Trim.Nicholas Marriott
2008-09-25Internal screen data rewrite for better 256 colour/UTF-8 support.Nicholas Marriott
2008-09-10Rename some functions.Nicholas Marriott
2008-09-10Split colour functions from screen.Nicholas Marriott
2008-09-09Initial UTF-8 support.Nicholas Marriott
2008-09-08Fix bold/non-bold mismatch in 256 colour mode by adding an extra 8 bits ↵Nicholas Marriott
(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 :-/.
2008-09-08Initial 256 colour support, lightly tested.Nicholas Marriott
2008-07-24Support keypad mode, and get rid of SCREEN_DEF*. Meant to commit these ↵Nicholas Marriott
separately but forgot :-/.
2008-07-24These flags are off by default.Nicholas Marriott
2008-07-24Handle kcursor+kkeypad (switch to OA from [A).Nicholas Marriott
2008-06-29Zombie windows, requested by Will Maier.Nicholas Marriott
2008-06-18Trimify.Nicholas Marriott
2008-06-14Clear blank area properly on redraw, and add a marker line below it.Nicholas Marriott
2008-06-03Per-session configuration options.Nicholas Marriott
2008-01-03Some key tweaks, fix status bar to not rely on attr.Nicholas Marriott
2007-12-06Filling with the right attr should be done in screen-display.c.Nicholas Marriott
2007-12-06Use the current attr/colours for filling in new areas, this fixes the echo ↵Nicholas Marriott
\\033[35\;46m\\033[2J bug.
2007-12-06Major reorganisation of screen handling.Nicholas Marriott
2007-12-02The tty code already stores attributes and doesn't modify them if unaltered, ↵Nicholas Marriott
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.
2007-11-30Change window name on \ek...\e\.Nicholas Marriott