711 Commits

Author SHA1 Message Date
C. McEnroe
dbc0c3ef40 Fix M-u behaviour difference before and after reflow 2020-09-03 15:50:39 -04:00
C. McEnroe
0968a8ac7c Recalculate unreadHard on reflow 2020-09-02 21:29:03 -04:00
C. McEnroe
a46fbea0ec Give blank lines timestamps
Otherwise the zero timestamps totally break save data loading! Bad!
2020-09-02 19:31:05 -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
e229931253 Don't call completeTouch for ignored messages 2020-09-02 17:51:51 -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
99612ad8eb Still add ignored lines to unreadHard
Scrolling is still affected by hidden lines (which I'm not sure yet is
good or not), so for M-u to work it needs to count ignored lines.
2020-09-02 16:52:57 -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
9679c7474e Reimplement split scrolling 2020-09-02 16:06:34 -04:00
C. McEnroe
a0c8a46c75 Fix inserting blank lines BEFORE the new message 2020-09-02 15:57:36 -04:00
C. McEnroe
6fe5368ec7 Only call windowUpdate when the shown window needs updating 2020-09-02 15:50:13 -04:00
C. McEnroe
1563eb7d56 Don't consider the alignment tab a wrapping point 2020-09-02 15:48:47 -04:00
C. McEnroe
17898622e3 Call wclear on resize
Otherwise artefects can appear when resizing to smaller width with wide
characters at the right edge of the window.
2020-09-02 02:18:04 -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
8d1d758053 Invert meaning of unreadHard/unreadSoft to match new buffer code
Not sure why I had named them this way. Hard means hard-wrapped.
2020-09-01 20:56:09 -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
C. McEnroe
a98fd70aac Move styleParse out of ui 2020-09-01 18:05:17 -04:00
C. McEnroe
8190d76086 Use a static buffer for base directory paths 2020-08-21 16:49:10 -04:00
C. McEnroe
1abeece988 Document how cert/priv are searched for
This has always been how it works, but it was previously undocumented.
2020-08-20 21:22:29 -04:00
C. McEnroe
d9a0364cb4 Use configPath to load TLS cert/priv 2020-08-20 14:56:13 -04:00
C. McEnroe
f432bd72fa Refactor base dir functions to iterate over paths 2020-08-20 14:08:51 -04:00
C. McEnroe
b06470294d Match mentions case-sensitively
The mention coloring code already matches case-sensitively, and any
proper ping should be using tab-complete anyway so there's no reason for
differing case. And the month of June should not ping me.
2020-08-18 21:26:17 -04:00
C. McEnroe
1891c77535 Preserve colon from previous tab-complete
This fixes the case when pinging multiple nicks and one of them needs to
be cycled through.
2020-08-18 10:09:54 -04:00
C. McEnroe
10e953b8b5 Set origin fields to "*" if missing
Also determine if a message is from the server by if the host field has
been copied from the nick field.

EFNet sends NOTICEs with no origin during registration.

RFC 1459 has this to say:

> If the prefix is missing from the message, it is assumed to have
> originated from the connection from which it was received.

I suppose a more correct implementation would be to set the origin to
the hostname of the server, but we don't store that globally, so this
is good enough.
2020-08-16 22:52:01 -04:00
C. McEnroe
1c8054f226 Set OPENSSL_BIN to /usr/bin/openssl on FreeBSD 2020-08-06 16:15:53 -04:00
C. McEnroe
cdb6bacb06 Say for instead of with 2020-08-05 12:51:44 -04:00
C. McEnroe
9bd001ad4f Mention LibreTLS in install instructions 2020-08-04 14:38:23 -04:00
C. McEnroe
814c36223a Say "OpenSSL" in additional permission notices
LibreSSL is "a modified version of that library".
2020-08-04 12:19:14 -04:00
C. McEnroe
52a676155b Fix --mandir rendering in README
Fl Fl renders correctly in text but leaves a space between the hyphens
in HTML output.
2020-08-03 18:15:18 -04:00
C. McEnroe
9bd10d768d Add \banhammer macro
From the Textual extras command /banhammer.
2020-08-02 18:08:08 -04:00
C. McEnroe
bd8997ef09 Check return value of asprintf
On the awful operating system GNU, asprintf leaves the destination
pointer UNDEFINED on failure.
2020-08-01 22:18:58 -04:00
C. McEnroe
387f2c1fa3 Use ldd to automatically copy libs into chroot 2020-07-31 13:04:48 -04:00
C. McEnroe
27866c5657 Fix path of cert.pem in chroot 2020-07-31 13:04:33 -04:00
C. McEnroe
444d4bda9a Fix chroot-man path 2020-07-31 12:49:54 -04:00
C. McEnroe
4c1b1fc6a3 Replace catf with something that tracks len
Also the old catf would be broken with -DNDEBUG oops!
2020-07-30 14:37:46 -04:00
C. McEnroe
09e6b14794 Remove dependency on libcrypto for compat 2020-07-30 13:37:54 -04:00
C. McEnroe
a142ebcf43 Define explicit_bzero using memset_s on macOS 2020-07-30 13:36:17 -04:00
C. McEnroe
5a3b63e444 Remove use of strlcat
catf is not better though and should really be replaced.
2020-07-30 13:05:24 -04:00
C. McEnroe
6bb933c651 Bump .so versions in chroot 2020-07-25 19:03:52 -04:00
C. McEnroe
1b8d589112 Support --prefix and --mandir in configure script 2020-07-23 16:40:46 -04:00
C. McEnroe
f37ad399fe Rewrite configure script for all platforms 2020-07-23 16:28:38 -04:00
C. McEnroe
5873d8b5a7 Remove tls_close error handling
It seems that sometimes tls_close returns non-zero but tls_error returns
a null string... We're exiting anyway, so just ignore it.
2020-07-23 14:20:29 -04:00
C. McEnroe
ed7d5c0f34 Initialize numHot, numWarm
For some reason gcc thinks that numWarm might be used uninitialized.
It's fine with numHot though, strangely.
2020-07-23 00:22:36 -04:00
C. McEnroe
3e03b7502b Add current topic to tab-complete so it can edited 2020-07-13 10:22:33 -04:00
C. McEnroe
787771bebb Keep scrolled up windows in status line 2020-07-12 09:38:52 -04:00
C. McEnroe
e6db22d2bb Don't scan ignored messages for URLs 2020-07-09 22:43:35 -04:00
C. McEnroe
e1717e8fdd Add link to "IRC Suite" post in README 2020-07-08 16:59:51 -04:00
C. McEnroe
d74ec7e0f3 Avoid copying message to match if no ignores are set 2020-07-06 22:51:15 -04:00