C. McEnroe
997c932e83
Handle 437 ERR_UNAVAILRESOURCE like ERR_NICKNAMEINUSE
...
Not totally clear under what conditions 437 is returned, but if it
happens during registration, we should pick a new nick.
2020-12-05 23:06:45 -05:00
C. McEnroe
d6b4aed4df
Split /exec lines by \r as well as \n
...
This fixes local rendering of /exec toilet --irc, which outputs \r\n
line endings.
2020-11-24 19:15:57 -05:00
C. McEnroe
e4aa21d788
Add topic diffing to notable features
2020-11-11 13:27:22 -05:00
C. McEnroe
a1dece3df9
Use wmemcpy/wmemmove
2020-11-08 16:21:34 -05:00
C. McEnroe
ded0455d3e
Remove static buffer from colorMentions
2020-11-08 15:16:25 -05:00
C. McEnroe
a8264f31e0
Remove static buffer from capList
2020-11-08 15:07:13 -05:00
C. McEnroe
a0abd6582e
Highlight changed portion of topic
...
"%.*ls" is useless.
2020-11-08 12:42:01 -05:00
C. McEnroe
59006d18bb
Avoid eating C-c while connecting
...
Split UI initialization into two steps either side of the call to
connect, so that C-c works as interrupt while it's blocked.
2020-10-12 19:25:08 -04: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
1cc61723c9
Strip formatting from URLs
...
Notably this fixes opening URLs from litterbox queries where part of the
URL is highlighted.
2020-10-09 19:15:25 -04:00
C. McEnroe
c48672313b
Factor out styleStrip
2020-10-09 18:45:52 -04:00
C. McEnroe
f7f5acbbe2
Double up /help for server help
...
While the automatic search via LESS is neat, I don't think it's very
useful. Just always open the manual to the COMMANDS section, and fix it
to append to LESS rather than replace it.
2020-10-02 19:38:37 -04:00
C. McEnroe
f3a56b0d01
Use WHO for /ops
...
Accumulate names in a buffer and show away status.
2020-09-30 19:21:34 -04:00
C. McEnroe
3e67bf6557
Add /ops command
...
It's pretty awkward with large channels since NAMES isn't sorted by
prefixes or anything... But having it accumulate names across many
replies would require more reworking.
2020-09-30 17:52:39 -04:00
C. McEnroe
dce6c11cf6
Allow 2-param form of /whois, count comma-separated nicks
...
I do not feel like documenting the 2-param form of /whois because it is
weird, but it should work for those who already know about it.
2020-09-18 18:26:13 -04:00
C. McEnroe
2b8a45779d
Switch back to checking for server by nick with '.'
...
This fixes a bug where if you send a private message before joining any
channels, your message will be routed to the <network> window. That
happens because without a JOIN, self.user remains unset, which means
that require will copy self.nick (set by echoMessage) to self.host. The
easiest solution is to go back to checking for '.' and add a '.' to the
default nick, so now if a server sends a NOTICE with no origin it will
look like -*.*- which is kinda cute.
2020-09-18 18:13:09 -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
ef59e235eb
Silence set-but-unused warning
...
getyx is so annoying this way.
2020-09-09 18:04:41 -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
cf42595515
Add blank line to unread if there are already unread
...
This fixes the inconsistent M-u behaviour when catgirl is restarting and
reconnecting to pounce, for example.
2020-09-07 22:21:41 -04:00
C. McEnroe
4ca49debb1
Call uiWrite to insert blank lines
...
It only used to use different code to avoid adding the blank line to the
soft buffer.
2020-09-07 22:13:09 -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
f0fe44f355
Add C-r, C-s for basic scrollback search
2020-09-06 20:40:29 -04:00
C. McEnroe
49e626b2f3
Add M-n, M-p to jump to highlights
2020-09-03 16:37:31 -04:00
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