Curtis McEnroe
3d1f7d8065
Add /list
2019-07-02 22:12:07 -04:00
Curtis McEnroe
6223c9c8f8
Deal with ~users in colorGen
2019-07-02 21:41:52 -04:00
Curtis McEnroe
906440968e
Add -k option for joining with keys
2019-07-02 18:40:06 -04:00
Curtis McEnroe
4cda410b57
Move nick and tag coloring to color.c
2019-02-25 23:10:40 -05:00
Curtis McEnroe
6b97c59756
Add color to tags
2019-02-25 16:02:41 -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
f3db938ded
Replace "view" with "window"
...
I think originally I didn't want to use the same word as curses WINDOW
but it's really much clearer for the user if they're just called
windows. UI code probably needs yet another rewrite though. Still feels
messy.
2019-02-21 23:17:40 -05:00
Curtis McEnroe
e8063c35ec
Typedef function types, not pointers
2018-12-30 01:53:30 -05:00
Curtis McEnroe
38b4a53d57
Move base64 to string.c
2018-12-16 16:21:58 -05:00
Curtis McEnroe
a2a6ce99c0
Underline own nick
2018-12-15 01:09:56 -05:00
Curtis McEnroe
776ce58648
Implement SASL PLAIN authentication
2018-12-04 22:13:44 -05:00
Curtis McEnroe
638be4e775
Show error if disconnected unintentionally
2018-12-04 15:56:10 -05:00
Curtis McEnroe
e01b03c963
Revert half-working reconnecting stuff
2018-12-04 14:58:14 -05:00
Curtis McEnroe
7dab1c01f6
Check nick to determine if is self
...
I forgot that usernames aren't unique for a minute there.
2018-12-03 10:33:04 -05:00
Curtis McEnroe
26db6e6c10
Ignore ~ username prefixes
...
This simplifies a lot.
2018-12-03 00:08:24 -05:00
Curtis McEnroe
99c8a9fec0
Send automated messages to TagStatus with UICold
2018-12-02 22:56:33 -05:00
Curtis McEnroe
d7659376d1
Add basic log replay
2018-11-29 18:20:24 -05:00
Curtis McEnroe
139036dd5a
Handle no such nick error
2018-11-29 05:52:27 -05:00
Curtis McEnroe
e4eb97e512
Add /whois
2018-11-29 05:40:26 -05:00
Curtis McEnroe
3e2a9c2056
Factor out uiPrompt to call on nick change
2018-09-14 23:37:09 -04:00
Curtis McEnroe
0d7854c0d4
Move color selection to format.c
2018-09-13 16:16:11 -04:00
Curtis McEnroe
4c4d91b449
Rewrite UI again
...
The persistent topic is gone and the status line is now at the top. The
status formatting still needs to be reworked. I also want to try showing
the nick in the input window so it really looks like your next message.
2018-09-13 01:03:47 -04:00
Curtis McEnroe
2c65f663bf
Don't render every PM as a ping
2018-09-11 14:45:39 -04:00
Curtis McEnroe
240f9ebf84
Use PascalCase for constants
...
Begone underscores.
2018-09-02 16:13:00 -04:00
Curtis McEnroe
9a63155b2d
Treat all direct messages as pings
2018-09-02 01:12:41 -04:00
Curtis McEnroe
359b08b335
Simplify invalid nick messages
2018-09-02 00:13:27 -04:00
Curtis McEnroe
20e5126fdc
Remove FIXME for tracking tags in WHO handling
...
I don't think it'll ever be a problem.
2018-08-20 19:30:57 -04:00
Curtis McEnroe
b4ca3a5dfc
Don't clobber tab order on /who
2018-08-20 19:11:44 -04:00
Curtis McEnroe
431dd32cf1
Fix missing stdint.h include
2018-08-20 16:29:31 -04:00
Curtis McEnroe
9469db993c
Add logging
...
The reason logFmt takes a timestamp as a parameter is to support IRCv3
server-time in the future to accurately log the znc buffer. Hopefully.
2018-08-17 21:50:45 -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
7082820299
Detect pings in ACTIONs
2018-08-14 21:26:27 -04:00
Curtis McEnroe
398f752322
Keep hashing '\0' until color is not black
...
Actually uses the rest of the hash state this way.
2018-08-14 14:04:20 -04:00
Curtis McEnroe
1ca6974b64
Don't ping self
2018-08-13 19:54:26 -04:00
Curtis McEnroe
372b79b59e
Detect pings anywhere in message
2018-08-13 14:37:37 -04:00
Curtis McEnroe
2ae5b6b9ab
Add /query, /part and /close
...
Closing a channel before parting it is a bit weird, but if I send a PART
on /close, it would get reopened again to show the part message.
2018-08-13 13:49:03 -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
fec5e51d78
Fix isSelf user checking
...
Other users with the same username are not self.
The fun effect of this was that I could tab-complete "june_" but not
"june".
2018-08-11 12:50:56 -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
b740e937df
Remove unnecessary va_end
...
va_end must be called before the function returns, but errx is noreturn.
2018-08-10 12:45:37 -04:00
Curtis McEnroe
1a9ae050d6
Rename chan to join
...
In preparation for multi-channel?
2018-08-10 00:01:35 -04:00
Curtis McEnroe
6dd9eb71e1
Color brackets around nicks
...
Also switch self-brackets to () since [] can appear in nicks.
2018-08-09 21:37:11 -04:00
Curtis McEnroe
c45e192608
Fix 432 handler params
2018-08-09 21:27:48 -04:00
Curtis McEnroe
fc113c8ef9
Replace shift with a great variadic function
...
I am disappointed in the lack of compiler attributes for type-checking
variadic functions.
2018-08-09 17:37:14 -04:00
Curtis McEnroe
05fe4ece20
Only tabTouch nick if not self
2018-08-09 15:50:30 -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
6f9b928e53
Distinguish self with square brackets
2018-08-08 19:22:49 -04:00
Curtis McEnroe
c0ee457ab1
Color own messages 15
...
My own settings have "white" slightly darker than the default color, so
this helps to distinguish my own messages.
2018-08-08 00:42:27 -04:00
Curtis McEnroe
7d76246c3f
Highlight and beep pings
2018-08-07 17:51:23 -04:00
Curtis McEnroe
5d2b5cd51e
Populate tab-complete list
2018-08-07 14:58:32 -04:00