767 Commits

Author SHA1 Message Date
C. McEnroe
5a490945ea Rename ignore code to filter 2021-01-16 13:36:39 -05:00
C. McEnroe
6160b3f18c Remove join/part/quit ignore example
These can now be hidden with M-+.
2021-01-16 13:36:39 -05:00
C. McEnroe
1a1fe1fb7a Save and load window visibility thresholds 2021-01-16 13:09:55 -05:00
C. McEnroe
43b1dba720 Restore toggling ignore with M--
So that pressing M-- repeatedly maintains the previous behavior.
2021-01-16 13:05:01 -05:00
C. McEnroe
d05872303e Generalize ignore toggling to visibility threshold 2021-01-16 12:58:16 -05:00
C. McEnroe
51c92f94ff Save and load the URL ring in the save file 2021-01-11 18:05:22 -05:00
C. McEnroe
763802cae6 Don't pass nick to urlScan for MOTD and help 2021-01-11 17:59:12 -05:00
C. McEnroe
0f7518226e Check fprintf return values rather than ferror 2021-01-10 22:00:40 -05:00
C. McEnroe
df280aa7d6 Sandbox with unveil(2) on OpenBSD in restricted mode
I wrote all this in vi and it was nice.
2021-01-10 19:23:01 -05:00
C. McEnroe
c6cd90c2dd Print chain to stdout with -o 2021-01-10 18:00:41 -05:00
C. McEnroe
cdff668d8f Allow interspersing flags and config files
Don't wait for getopt_long to move all the arguments to the end. This
allows overriding options set by config files by placing flags after
them on the command line.
2021-01-10 13:49:57 -05:00
C. McEnroe
a437761267 Move -o to a separate SYNOPSIS line 2021-01-10 13:20:50 -05:00
C. McEnroe
7b8bd50063 Exit immediately when using -o 2021-01-10 11:47:48 -05:00
C. McEnroe
7bf96ac8e1 Make SYNOPSIS arguments consistent with option names
Can't keep the 4-letter pattern forever :(
2021-01-09 19:15:57 -05:00
C. McEnroe
e42b3aa08e Add -o and -t options to trust self-signed certificates 2021-01-09 19:11:57 -05:00
C. McEnroe
a324795b86 Allow configuring the upper bound of the hash function
This allows limiting the nick colors used to the 16-color terminal set
without modifying the TERM environment variable. Produces different
results from just using the default configuration in a 16-color
terminal, but what can you do?
2021-01-09 17:58:29 -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
8d57d700a5 Use execl rather than execlp for shell
SHELL is an absolute path.
2021-01-07 13:28:54 -05:00
C. McEnroe
9ea029c580 Sandbox with pledge(2) on OpenBSD 2021-01-06 21:47:56 -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
4b883177dc Split ignore fields to avoid over-eager * matching
Split ignore fields and match each separately to avoid an early *
eagerly matching across several fields. For example, "* JOIN * *" should
not match messages which happen to contain the word "JOIN" followed by
two other words.

Ignore capacity is reduced to 64 to keep the size of the array the same.
I don't think it's an issue.
2021-01-01 20:09:10 -05:00
C. McEnroe
519fcc436f Factor out reply count checking and decrementing 2020-12-30 16:54:03 -05:00
C. McEnroe
8b6a476c35 Add /whowas 2020-12-30 14:29:32 -05:00
C. McEnroe
05fbcb41c9 Show setnames like nick changes 2020-12-30 00:19:52 -05:00
C. McEnroe
1662b01a5f Add /setname command
I'm not sure about that replies check in handleStandardReply. If more of
those are added the reply counter system will definitely need
refactoring.
2020-12-29 23:54:30 -05:00
C. McEnroe
b4ed58602b Handle so-called Standard Replies 2020-12-29 23:11:57 -05:00
C. McEnroe
df577c9cd4 Alphabetize STANDARDS section 2020-12-29 22:58:40 -05:00
C. McEnroe
3bb5a3462b Document commands which can be filtered 2020-12-08 18:55:54 -05:00
C. McEnroe
65004e8b63 Clarify the optional portions of an ignore
Each optional portion requires the optional portions before it,
including a full hostmask.
2020-12-08 17:53:05 -05:00
C. McEnroe
f91a898e13 Fix manual page lints 2020-12-08 17:45:42 -05:00
C. McEnroe
9a81456f0a Clarify configuration file usage example
Point to EXAMPLES and /help from the top of the manual.
2020-12-08 17:19:08 -05:00
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