d42fb43f4f
Proper support for tab stops (\033H etc), using a bitstring(3). Makes another
...
vttest test happy.
2009-06-04 18:48:24 +00:00
2faec76afa
Pass window titles through vis(1). <0x20 is dropped anyway by the input state
...
machine but top-bit-set nonprintables could cause trouble, and they are neater
like this anyway.
Suggested by deraadt a few days ago.
2009-06-03 19:33:04 +00:00
35876eaab9
Import tmux, a terminal multiplexor allowing (among other things) a single
...
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
2009-06-01 22:58:49 +00:00
143aa718e5
Space trimmage mega-diff.
2009-05-04 17:58:27 +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
989d67ccd7
struct grid_data -> struct grid. Stage 1 of the Grand Plan To Make UTF-8 Better.
2009-03-28 15:43:41 +00:00
a1b43faa43
Trim spaces.
2009-01-10 01:51:22 +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
23e7da1ccb
Clear correct range.
2008-10-09 05:31:04 +00:00
c2a5ffa6a4
Shut gcc up.
2008-09-29 16:59:47 +00:00
9d6827ebb2
UINT_MAX.
2008-09-29 16:58:02 +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
f07cedf048
Rename some functions.
2008-09-10 19:15:06 +00:00
ded348064a
Split colour functions from screen.
2008-09-10 18:59:29 +00:00
19a2c87f04
Initial UTF-8 support.
2008-09-09 22:16:37 +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
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
815b217482
These flags are off by default.
2008-07-24 07:01:57 +00:00
ee8a9d2458
Handle kcursor+kkeypad (switch to OA from [A).
2008-07-24 00:03:15 +00:00
d90d646ca8
Zombie windows, requested by Will Maier.
2008-06-29 07:04:31 +00:00
99df48d70f
Trimify.
2008-06-18 22:21:51 +00:00
62d7ad2690
Clear blank area properly on redraw, and add a marker line below it.
2008-06-14 12:05:06 +00:00
9e6090a7a2
Per-session configuration options.
2008-06-03 21:42:37 +00:00
205b78ec58
Some key tweaks, fix status bar to not rely on attr.
2008-01-03 21:32:11 +00:00
e215e177df
Filling with the right attr should be done in screen-display.c.
2007-12-06 22:13:14 +00:00
21d10e6894
Use the current attr/colours for filling in new areas, this fixes the echo \\033[35\;46m\\033[2J bug.
2007-12-06 21:57:57 +00:00
103748d6ad
Major reorganisation of screen handling.
2007-12-06 09:46:23 +00:00
8419e99789
The tty code already stores attributes and doesn't modify them if unaltered, 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-12-02 18:23:10 +00:00
3962c5f706
Change window name on \ek...\e\.
2007-11-30 11:08:35 +00:00
77386db04b
Turn mouse on/off as appropriate.
2007-11-28 08:20:41 +00:00
c6384a765b
Flush data on tty open. Also reset colour before clearing line/screen.
2007-11-27 21:07:38 +00:00
80e30f693c
Minor tweaks/missed bits.
2007-11-27 19:32:15 +00:00
76c8a590db
Big internal reorganisation to move tty control into parent.
2007-11-27 19:23:34 +00:00
14610569c8
This is better than disabling it.
2007-11-26 22:06:11 +00:00
f903cc9a56
Rv EOL optimisation, it screws up selection.
2007-11-26 20:45:13 +00:00
89db56fb09
Disable this optimisation since cursor can be updated by stuff outside.
2007-11-25 13:03:01 +00:00
9a3dde0f53
Oops, use correct y.
2007-11-25 11:13:46 +00:00
87b418b13e
Redo output logging in local.c. Optimise line drawing.
2007-11-25 10:56:22 +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
b2d78b67d8
Use screen_draw_* to write message, avoids leaving attribute changes around.
2007-11-24 17:58:45 +00:00
4cd1f86359
Only show history size.
2007-11-23 13:02:45 +00:00
9c584432d0
history-limit option.
2007-11-23 12:48:20 +00:00
26c8303733
Tidier code by moving mess into functions.
2007-11-22 19:40:17 +00:00
7b4556946d
Make C-space toggle. Fix sel on same line.
2007-11-22 19:26:20 +00:00
7ab0b466fe
Text selection with C-space.
2007-11-22 19:17:01 +00:00
18d72e6928
Partial copy mode. Currently does the same as scroll mode but using a cursor. Also fix bug where resizing would leave crap lying around.
2007-11-22 18:09:43 +00:00
df7be0ddab
Split SCREEN_BACKGROUND flag into BACKGROUND/NOCURSOR in preparation for copy mode.
2007-11-22 09:11:20 +00:00