Commit Graph

724 Commits (f3a56b0d014c96b3bbc41308d34f46a1f7b70764)

Author SHA1 Message Date
C. McEnroe bb531a71b1 Error on invalid ISUPPORT values 2020-04-05 13:11:19 -04:00
C. McEnroe 3c9bb4e7a3 Add note about symlinking /etc/ssl/cert.pem 2020-04-04 10:58:03 -04:00
C. McEnroe 75a6aa9258 Use gnu-case-range and gnu-conditional-omitted-operand extensions
I'm sad to do this but I just can't stand writing (foo ? foo : bar)
anymore.
2020-04-03 17:10:52 -04:00
C. McEnroe 6574f012c9 Only treat /open param as count if single digit 2020-04-03 15:16:49 -04:00
C. McEnroe 2d36c4d7c9 Use a for loop for getopt 2020-04-02 16:13:23 -04:00
C. McEnroe 06543b7030 Generate short option string with a loop
Also change the way option structs are initialized so that the array
sorts the same way as the switch statement.
2020-04-02 14:14:43 -04:00
C. McEnroe a0f012c614 Do not add an extra blank line on uiLoad
Adding one for the last unread position now, so this is mostly
redundant, I think.
2020-04-02 11:00:05 -04:00
C. McEnroe 9063c656d5 Preserve the last blank line on reflow 2020-04-02 10:56:33 -04:00
C. McEnroe 6333b63224 Switch to windows with ascending unread counts on M-a 2020-04-02 10:47:17 -04:00
C. McEnroe 6e7613c1ce Mention running ldconfig after editing /etc/ld.so.conf 2020-04-01 15:07:21 -04:00
C. McEnroe 8495d12216 Fix multi-mention tab completion condition
I don't know why I ever programmed it this way. It was really annoying
when trying to write "some phrase, nick".
2020-04-01 14:42:07 -04:00
C. McEnroe 77a7c02435 Pass correct length to mbstowcs
Too used to sizeof being the right thing for regular strings.
2020-04-01 12:15:44 -04:00
C. McEnroe 2816c019a3 Add note about building LibreSSL manually 2020-04-01 10:25:04 -04:00
C. McEnroe 84f661ab05 Add \blush 2020-03-31 20:12:04 -04:00
C. McEnroe e538fe54b9 Add notes on how to view README.7
I'm feeling generous :)
2020-03-31 19:17:09 -04:00
C. McEnroe 9f92f4573f Add pounce to README's SEE ALSO 2020-03-31 19:13:24 -04:00
C. McEnroe 885fc9f4e7 Update features list 2020-03-31 19:08:58 -04:00
C. McEnroe 50941b493a Add join/part/quit filtering example
I don't care that this looks nuts.
2020-03-31 15:09:34 -04:00
C. McEnroe ca751a1cdc Hide filtered messages 2020-03-31 14:31:10 -04:00
C. McEnroe 25f419465f Add /ignore message filtering patterns 2020-03-31 14:30:42 -04:00
C. McEnroe fcb6e2909f Save and load buffer line heat 2020-03-31 14:12:43 -04:00
C. McEnroe bfa106b9a0 Store line heat in buffer 2020-03-31 14:07:21 -04:00
C. McEnroe 13ae7cec59 Add \bear, \cool, \hug, \unflip, \wave 2020-03-31 10:50:42 -04:00
C. McEnroe 16b16a72e5 Replace int opt; while with for loop in sandman 2020-03-31 10:17:21 -04:00
C. McEnroe ff78362826 Replace some declaration; while loops with for loops
I should have been using this for getopt loops already but the call here
is slightly too long to fit on one line as a for loop.
2020-03-30 19:44:45 -04:00
C. McEnroe a0dde10cb6 Add text macros 2020-03-30 14:56:26 -04:00
C. McEnroe 407eaf9dbf Tab complete from last iswspace 2020-03-30 13:27:35 -04:00
C. McEnroe 6bfeff71a2 Add /o alias for /open
I can't live without it.
2020-03-30 11:15:44 -04:00
C. McEnroe ebbb5ad4d2 Add /op, /deop, /voice, /devoice
This collides with using /o for /open which I'm sad about, but I think
these commands should exist...
2020-03-29 12:43:53 -04:00
C. McEnroe bb2f3c7a01 Rewrite mode formatting again and write to log
Going back to one line per mode change again because it's easier.
2020-03-28 12:08:10 -04:00
C. McEnroe 3dc998272e Log chat events
Still missing is logging MODE changes, which will be hell, unless it
just logs the raw stuff.
2020-03-25 18:58:48 -04:00
C. McEnroe d99f20c0ff Add logging functions
The mkdir dance is a bit awkward...
2020-03-25 18:56:09 -04:00
C. McEnroe 4f40ace9d4 Track MODE in replies 2020-03-23 16:52:24 -04:00
C. McEnroe 35ae4121cb Fix non-multiline command newline handling 2020-03-23 15:47:56 -04:00
C. McEnroe ef6518a627 Add M-Enter to insert a newline 2020-03-23 15:03:55 -04:00
C. McEnroe 60b189200e Handle bracketed paste, including newlines 2020-03-23 14:55:43 -04:00
C. McEnroe 3cb7cc97f6 Allow commands to take multiline input 2020-03-23 14:54:46 -04:00
C. McEnroe 7ea1a416a1 Bump edit buffer cap to 1024
With message splitting it's reasonable to allow this to be larger.
2020-03-23 13:45:28 -04:00
C. McEnroe cf1545870a Assume worst case for unknown user and host in splitMessage
The default USERLEN of 9 doesn't have a great source, the RFC only says
that nicks are length 9, so my assumption is that usernames are not
longer.
2020-03-23 13:25:10 -04:00
C. McEnroe 3bb3a11454 Implement message splitting 2020-03-22 15:13:33 -04:00
C. McEnroe be4283b8ff Handle empty input directly in command 2020-03-22 14:38:22 -04:00
C. McEnroe eb6316c235 Track own host, handle CHGHOST 2020-03-22 14:32:20 -04:00
C. McEnroe ccde1c2c8c Add /say 2020-03-22 14:19:11 -04:00
C. McEnroe 0d0a6d1575 Handle RPL_CHANNELMODEIS 2020-03-22 11:40:58 -04:00
C. McEnroe 61828a12e9 Handle user mode changes 2020-03-22 11:26:16 -04:00
C. McEnroe 8da45d9183 Rewrite handleMode 2020-03-22 11:18:21 -04:00
C. McEnroe 1c508b78ab Handle RPL_UMODEIS 2020-03-18 08:33:42 -04:00
C. McEnroe 1d5c4a5e34 Send blank line after 10 minutes idle
Without this, I was having catgirl "time out" from pounce's POV, but
without catgirl noticing anything... I still don't understand this. Been
using this fix for a couple weeks though and it stopped happening, and
it's otherwise harmless, but yikes.
2020-03-17 11:58:50 -04:00
C. McEnroe 2f53f75892 Ignore 422 ERR_NOMOTD
pounce will start sending these because some silly clients don't think
they're connected until some MOTD reply...
2020-03-09 03:08:59 -04:00
C. McEnroe 7e120f00a1 Set self.pos before handling the message
This intuitively feels wrong, but isn't. Most importantly, handleError
immediately exits, but we still need to "consume" that message,
otherwise pounce will keep sending it on reconnect. The same goes for
any other handler that might cause an exit, such as a require parameter
count failure.
2020-03-08 23:15:56 -04:00