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
C. McEnroe
5c167e4181
Prevent entering commands in <debug> if restricted
...
Because the <debug> ID always exists, it's possible to create a window
for it even while restricted with "/window <debug>" and try to enter
commands there.
2020-03-02 19:18:55 -05:00
C. McEnroe
8570a62235
Implement the causal.agency/consumer capability
2020-02-29 01:03:46 -05:00
C. McEnroe
78b4832bfe
Add raw modes to mode message
2020-02-25 03:00:36 -05:00
C. McEnroe
e9524b4af3
Handle changing setParamModes, paramModes and other channel modes
2020-02-25 02:54:15 -05:00