C. McEnroe
e066a954f5
Replace catf with seprintf
2021-06-09 11:56:35 -04:00
C. McEnroe
52c58128c8
Add numbers to buffer lines
...
This directly correlates hard-wrapped lines with the soft lines
they were wrapped from.
Choosing uint here because it doesn't change the size of struct
Line. It doesn't at all matter since buffers only hold 1024 lines
at a time anyway.
2021-01-26 22:14:12 -05:00
C. McEnroe
609c9bd0ac
Do not copy time to wrapped lines
2021-01-25 17:23:17 -05:00
C. McEnroe
bc29082f9d
Remove use of "%n" to appease de Raadt
...
Sure, it was completely unnecessary, but I resent being told how
to use snprintf.
https://cvsweb.openbsd.org/src/lib/libc/stdio/vfprintf.c?rev=1.79&content-type=text/x-cvsweb-markup
2021-01-23 12:34:30 -05:00
C. McEnroe
d05872303e
Generalize ignore toggling to visibility threshold
2021-01-16 12:58:16 -05:00
C. McEnroe
bf70fcbfed
Count width of 2 for invalid multibyte with high bit
2021-01-09 17:28:42 -05:00
C. McEnroe
3b54425ec1
Collapse whitespace while wrapping and discard trailing space
...
The latter avoids an extra blank line when a message ends with
whitespace that hits the edge of the window.
2021-01-04 14:28:37 -05:00
C. McEnroe
53f23942a4
Clear wrapping point at alignment tab
...
This fixes odd wrapping when a nick contains a hyphen and there are no
further wrapping points.
2020-10-09 22:52:44 -04:00
C. McEnroe
b2de129e3f
Copy style from wrapping point
...
This fixes a bug when wrapping on a word with style changes inside it,
where the copied style would be different depending on the width of the
terminal.
2020-09-11 19:12:42 -04:00
C. McEnroe
9513542c6d
Include DEL in characters ncurses will print in ^A form
2020-09-08 14:54:51 -04:00
C. McEnroe
172d01a668
Let wrapped lines use the last column
2020-09-07 17:51:09 -04:00
C. McEnroe
05f94f1b8b
Handle non-alignment tabs in line wrapping
2020-09-06 22:43:50 -04:00
C. McEnroe
0968a8ac7c
Recalculate unreadHard on reflow
2020-09-02 21:29:03 -04:00
C. McEnroe
96386adac3
Hide ignored messages at the soft -> hard buffer layer
...
This restores normal scrolling behaviour.
2020-09-02 18:51:07 -04:00
C. McEnroe
16737d4edc
Preserve style after alignment
...
This makes wrapping text with background colour look much better.
2020-09-02 17:08:21 -04:00
C. McEnroe
d00b3d3b70
Actually insert blank lines in the soft buffer
...
So they can be preserved forever!
2020-09-02 16:29:38 -04:00
C. McEnroe
1563eb7d56
Don't consider the alignment tab a wrapping point
2020-09-02 15:48:47 -04:00
C. McEnroe
a84c9cdda7
Fix line wrapping in various ways
...
Never split a codepoint, don't set wrapping point unless we're not
already wrapping, wrap on any unicode whitespace, only clear rest of
line if still on the same line...
2020-09-02 01:57:51 -04:00
C. McEnroe
149cafc5ab
Render one main window from buffers
...
Still missing: split scrolling and preserving a blank on reflow either
from resize or ignore toggling.
Anecdata: on one of my instances of catgirl, RAM usage of the previous
release was ~30M, RAM usage of this commit was ~12M.
2020-09-02 00:27:16 -04:00
C. McEnroe
4dc87ab9cd
Implement buffer line wrapping
...
Not yet rendered in the UI! Just done in parallel.
2020-09-01 22:54:26 -04:00
C. McEnroe
ded2b6afb6
Factor buffer out of ui
...
In preparation for doing line wrapping outside of ncurses.
2020-09-01 20:36:50 -04:00