Commit Graph

25 Commits (8bdd1578c735931bafd213792ce5903f9f78486b)

Author SHA1 Message Date
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 e3e2b36ecf.

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