Nicholas Marriott
e97006b102
Permit embedded colour and attributes in status-left and status-right using new
...
#[] special characters, for example #[fg=red,bg=blue,blink].
2009-09-07 10:49:32 +00:00
Nicholas Marriott
65ac8e9f0c
Ugh, committed the wrong version of this change and got both solutions rather
...
than just the second. Remove unused assignment.
2009-08-21 08:12:05 +00:00
Nicholas Marriott
1501b3fbbd
A few trivial optimisations: no need to check for zero size if calling
...
buffer_ensure in buffer.c; expand grid lines by a greater increase than one
each time; and don't read UTF-8 data unless it actually needs to be checked
when overwriting a cell.
2009-08-20 19:14:42 +00:00
Nicholas Marriott
b02e429788
It was originally intended that scroll mode would show content that was
...
currently off-screen due to resize, but somewhere along the way this got
lost. Restore this behaviour to scroll mode by fixing screen_write_copy to read
up to the saved line length rather than the current screen width. Copy mode
remains unaltered for now.
2009-08-13 16:24:33 +00:00
Nicholas Marriott
06ddd3dcf8
Add a flags member to the grid_line struct and use it to differentiate lines
...
wrapped at the screen edge from those terminated by a newline. Then use this
when copying to combine wrapped lines together into one.
2009-08-08 15:57:49 +00:00
Nicholas Marriott
97f105cde2
Plug some memory leaks.
2009-07-30 20:41:48 +00:00
Nicholas Marriott
fc65da1eed
Draw UTF-8 characters under the selection correctly.
2009-07-27 11:33:21 +00:00
Nicholas Marriott
ddad0be5f7
More tty code tidying: move the saved cursor/region position (from before the
...
screen was updated) out of struct screen and into struct tty_ctx.
2009-07-22 20:53:38 +00:00
Nicholas Marriott
2ec2837daa
enum tty_cmd is only used as an index into the array of command function
...
pointers, so remove it and use the function pointers directly to represent
themselves.
2009-07-22 18:02:23 +00:00
Nicholas Marriott
6a309c53a8
There are relatively few arguments to tty_cmd_* functions now, so tidy them up
...
by using a struct rather than hiding everything with varargs.
2009-07-22 16:45:31 +00:00
Nicholas Marriott
5bd72ec629
tty_cmd_raw is only used once, for raw UTF-8 output, so rename it to
...
tty_cmd_utf8character and eliminate the size argument.
2009-07-22 15:55:32 +00:00
Nicholas Marriott
975f516f51
The scroll region cannot be one line only, ignore attempts to make it so.
2009-07-14 14:47:32 +00:00
Nicholas Marriott
5f2f07ed8a
Cursor up and down should be limited by the scroll region (cuu should stop at
...
the scroll region top if starting from below it and cud stop at the bottom if
starting from above). Fixes another vttest test.
2009-07-09 17:57:11 +00:00
Nicholas Marriott
86c93c6e34
Change inserting and deleting lines inside the scroll region to properly clear
...
lines that should be inserted/deleted but not moved. Fixes problems with mutt
reported by Brian Lewis, thanks.
2009-07-09 07:58:14 +00:00
Nicholas Marriott
643c219d18
Tidy by removing unused argument from grid_view_{insert,delete}_line_region
...
functions (currently don't fully work, this is to make fix easier).
2009-07-09 00:29:32 +00:00
Nicholas Marriott
68e06fb6b7
Fix two errors with character/line insertion and deletion: the maximum number
...
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.
2009-06-29 21:30:50 +00:00
Nicholas Marriott
1ec736a3dc
Status line fixes: don't truncate status-right now the length calculation is
...
done for UTF-8, limit to the maximum length correctly when printing, and always
print a space even if the left string is longer than the width available.
2009-06-26 15:13:39 +00:00
Ray Lai
74749e8705
Remove trailing newlines, spaces, and tabs.
...
No binary change.
2009-06-05 03:13:16 +00:00
Nicholas Marriott
c1a4c0186a
Support insert mode by using insert character to shift the cells before writing
...
as normal.
2009-06-03 23:37:30 +00:00
Nicholas Marriott
52ec9b9ec4
Implement the DEC alignment test. With the last change this is enough for the
...
first cursor test in vttest (in ports) to pass; it still shops a few more
problems though.
2009-06-03 23:30:40 +00:00
Nicholas Marriott
ebe07c2726
Fix some miscalculations when clearing to start of screen: the number of lines
...
to the cursor is cy not cy - 1, and the current cursor cell should be included.
2009-06-03 23:26:56 +00:00
Nicholas Marriott
6521427a45
New session option, status-utf8, to control the interpretation of top-bit-set
...
characters in status-left and status-right (if on, they are treated as UTF-8;
otherwise passed through).
2009-06-03 16:54:26 +00:00
Nicholas Marriott
7d45e29683
Add a UTF-8 aware string length function and make UTF-8 in
...
status-left/status-right work properly. At the moment any top-bit-set
characters are assumed to be UTF-8: a status-utf8 option to configure this will
come shortly.
2009-06-03 16:05:46 +00:00
Nicholas Marriott
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