Commit Graph

78 Commits

Author SHA1 Message Date
143aa718e5 Space trimmage mega-diff. 2009-05-04 17:58:27 +00:00
7d6896ae79 Support NEL. 2009-04-23 21:28:45 +00:00
cf7b384c43 Better UTF-8 support, including combined characters. Unicode data is now stored
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-28 20:17:29 +00:00
6c0728fe07 Step 2 of the Grand Plan To Make UTF-8 Better.
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-28 16:30:05 +00:00
4cdc228353 Unbreak UTF-8. 2009-01-18 21:46:30 +00:00
162bacdcd9 Window splitting. Two vertical panes fixed 50% each. This is a huge diff, still a couple of bugs (notably heap corruption somewhere causing segfault on exit). 2009-01-11 23:31:46 +00:00
a1b43faa43 Trim spaces. 2009-01-10 01:51:22 +00:00
4ebb85aae8 Don't return NULL when retrieving a string that is too long. 2009-01-08 21:22:01 +00:00
4846ad1657 Introduce nitems() and use it; use bsearch. 2009-01-07 22:52:33 +00:00
7a82e86827 Make window options work the same was as session options, add mode-fg/mode-bg options, force -g for global on set/show/setw/showw/ 2008-12-08 16:19:51 +00:00
d0342f4a04 Ability to show window title on status line. 2008-12-05 20:04:06 +00:00
5ca710d9e3 Disable UTF-8 by default and add options to enable it. 2008-11-16 13:28:59 +00:00
6304e23984 Record intermediate for p2/s2 and fake up charset redefinition (some programs use it to switch character set). 2008-11-04 20:41:10 +00:00
cf092dc27f This breaks mutt. 2008-11-04 20:06:48 +00:00
25975cf5ae Alternative charset commands. 2008-11-04 19:28:58 +00:00
185f7297e8 Better OSC support for title setting, and support APC as well. 2008-10-09 21:22:16 +00:00
22ef1a1379 SGR should not reset charset... don't know how this worked before... 2008-09-26 07:41:01 +00:00
93aa3f3c21 Make RIS also reset scroll region. 2008-09-26 07:34:12 +00:00
62457bce0b Trim. 2008-09-26 06:45:28 +00:00
efe557313a Internal screen data rewrite for better 256 colour/UTF-8 support. 2008-09-25 20:08:57 +00:00
19a2c87f04 Initial UTF-8 support. 2008-09-09 22:16:37 +00:00
1e145a639b Unbreak 256 colours when commands are combined. 2008-09-09 17:35:04 +00:00
6674197e85 Fix bold/non-bold mismatch in 256 colour mode by adding an extra 8 bits (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-08 22:03:56 +00:00
cecd7c0cc8 Comments. 2008-09-08 21:05:41 +00:00
0ba3bab997 Get the colours right. 2008-09-08 20:51:19 +00:00
4235ddb4e8 Initial 256 colour support, lightly tested. 2008-09-08 17:40:51 +00:00
3337dfcae5 Support keypad mode, and get rid of SCREEN_DEF*. Meant to commit these separately but forgot :-/. 2008-07-24 21:42:40 +00:00
97212771b5 Support keypad. Change cursor key output. 2008-07-23 23:44:50 +00:00
83a9f272d8 Missing NULL check. 2008-06-18 19:06:51 +00:00
7842d29673 Revert attempt to fix stray updates, turns out it was clock :-/. 2008-06-04 19:20:10 +00:00
39be570b20 vi keys from Will Maier. 2008-06-04 18:50:35 +00:00
14b9512546 Add activity monitoring, also invert items on taskbar which have activity. 2008-06-04 16:46:23 +00:00
205b78ec58 Some key tweaks, fix status bar to not rely on attr. 2008-01-03 21:32:11 +00:00
08d7be638e Fix charset stuff. 2007-12-06 13:54:33 +00:00
103748d6ad Major reorganisation of screen handling. 2007-12-06 09:46:23 +00:00
3962c5f706 Change window name on \ek...\e\. 2007-11-30 11:08:35 +00:00
043514a834 Preliminary mouse support. 2007-11-27 23:28:51 +00:00
f47ab8f13f Don't nuke charset flag on [0m. Also rename DRAWING -> CHARSET flag. 2007-11-27 23:01:27 +00:00
43c99c2fab Clear current line properly on clear eos. 2007-11-27 22:12:14 +00:00
76c8a590db Big internal reorganisation to move tty control into parent. 2007-11-27 19:23:34 +00:00
15511cb41a Support for VT100 graphics mode. Also lose some redundant checks. 2007-11-24 23:29:49 +00:00
5ad9b31ac5 Scroll region reset homes the cursor, so start at 0,0 when drawing. Also don't set region after DECRC. 2007-11-24 19:29:56 +00:00
a01093603b Inc region in debug msg. 2007-11-23 22:51:13 +00:00
2cdc75fa4e Fix clear. 2007-11-21 14:50:41 +00:00
9a6e47cfa8 Initial history support. 2007-11-21 13:11:41 +00:00
ceab127fac Mass screen.c rename/tidy. Add a actual size (ysize) as distinct from display size (now dx,dy). Move functions which work on the displayed area into screen-display.c and tidy. Use macros consistently when accessing screen data (may want to move everything about again later!). This the first step on the road to scrollback. 2007-11-20 21:42:29 +00:00
0be6a3041f Style: ry_* -> r* 2007-11-20 18:46:32 +00:00
86b73cec72 Check for scrolling when _cursor_ is inside region, not number of lines. Duh. 2007-11-16 16:28:14 +00:00
5940c5ff88 Support tab. 2007-11-09 17:06:01 +00:00
ab097f0c0c Don't save/restore ry_*. 2007-10-26 17:15:50 +00:00