27 Commits

Author SHA1 Message Date
Curtis McEnroe
98b76d1b7e
Make copyright headers consistent 2019-07-27 18:00:01 -04:00
Curtis McEnroe
2a6e3f2d02
Output raw to standard error if it is not a terminal 2019-02-25 17:00:28 -05:00
Curtis McEnroe
e20c64d5d7
Reorganize UI code for the umpteenth time
It's actually in a good state now, I think.
2019-02-22 14:11:50 -05:00
Curtis McEnroe
5fcd801783
Use memmem in place of strnstr 2019-01-25 02:27:38 -05:00
Curtis McEnroe
a7681579fa
Treat EOF as expected if self.quit
znc doesn't seem to respond to QUIT with ERROR like an IRCd would.
2018-12-14 16:48:16 -05:00
Curtis McEnroe
e84c36a0bd
Factor out ircQuit 2018-12-14 16:43:49 -05:00
Curtis McEnroe
2797ac8abf
Rename verbose to raw
And change the format of the sticky tag names again.
2018-12-05 14:46:34 -05:00
Curtis McEnroe
e01b03c963
Revert half-working reconnecting stuff 2018-12-04 14:58:14 -05:00
Curtis McEnroe
26db6e6c10
Ignore ~ username prefixes
This simplifies a lot.
2018-12-03 00:08:24 -05:00
Curtis McEnroe
452aeb5ecf
Move host, port, pass, webp to self 2018-12-02 23:22:18 -05:00
Curtis McEnroe
0e1297e068
Add -r option for realname 2018-12-02 23:08:49 -05:00
Curtis McEnroe
99c8a9fec0
Send automated messages to TagStatus with UICold 2018-12-02 22:56:33 -05:00
Curtis McEnroe
5c17393d2b
Crudely handle reconnecting after suspend 2018-12-01 22:05:37 -05:00
Curtis McEnroe
9d769111ae
Separate ircConnect and ircDisconnect 2018-11-30 18:06:43 -05:00
Curtis McEnroe
75203b2e54
Revert "Race parallel connects"
This reverts commit e3e2b36ecf6a1340f1dc2542233bafe0862447fa.

Apparently racing *all* of the connections is not something you should
do, and I can't be bothered with all the extra logic to do this
"correctly" according to RFC 8305. Provide an API, you cowards.

What I did want to do was give IPv6 any chance at all of being used, but
I'm just going to leave that up to the order getaddrinfo returns. It's
someone else's fault.
2018-09-16 13:25:31 -04:00
Curtis McEnroe
e3e2b36ecf
Race parallel connects 2018-09-16 13:00:49 -04:00
Curtis McEnroe
6aecd7a712
Call tls_error when tls_connect_socket fails 2018-09-15 23:19:01 -04:00
Curtis McEnroe
cca4b3fa10
Try successive getaddrinfo results 2018-09-15 23:07:41 -04:00
Curtis McEnroe
240f9ebf84
Use PascalCase for constants
Begone underscores.
2018-09-02 16:13:00 -04:00
Curtis McEnroe
38fc42f03d
Add UI "heat" for status/messages/pings
Bring back the beeps! Allow pings from notices. Also factor out
dequoting of part/quit messages.
2018-08-17 14:00:08 -04:00
Curtis McEnroe
a281f89592
Rework UI code for multi-channel
Tags are now permanently assigned (and I'm betting on never needing more
than 256 of them) and the UI maps tags to a linked list of views for
easy reordering and removal. Currently, views can only be added. Views
don't have a topic window until they need one. All UI code wants to be
functional reactive.

Beeping is temporarily removed until message priorities (status,
message, ping) can be added to the UI. At that point spawning
notify-send should also be possible. Priorities will also help with
unnecessary markers, which will not appear for status messages.

The tab system is now used to send QUIT and NICK messages to all the
relevant tags. Verbose output now goes to its own tag, and sending to
it sends raw IRC.

IRC colors are now listed in chat.h and handler functions for numeric
replies have real names. The color algorithm now uses a real hash
function for hopefully better results. QUIT, PART and KICK messages are
scanned for URLs.
2018-08-11 20:02:03 -04:00
Curtis McEnroe
07c750d25c
Become multi-channel
There's a lot of UI missing for it, but it technically works.
2018-08-10 23:31:20 -04:00
Curtis McEnroe
d1fea96e86
Add PASS option
WEBIRC is now -W.
2018-08-09 18:26:53 -04:00
Curtis McEnroe
a64f1a4ea2
Add URL detection, listing and opening
Might also add /copy, like /open.
2018-08-09 00:24:49 -04:00
Curtis McEnroe
fa270d9287
Hack clang into checking uiFmt format strings 2018-08-07 14:11:19 -04:00
Curtis McEnroe
d6fb797b11
Use wchar_t strings for all of UI
vaswprintf is a nightmare.
2018-08-06 14:19:52 -04:00
Curtis McEnroe
35589a5624
Rename client to irc 2018-08-04 17:54:46 -04:00