Commit Graph

36 Commits (6323ca0209383cec1bf774f9723b63a5a4685710)

Author SHA1 Message Date
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 e9793b4bce
Move process spawning onto the event loop
Child processes weren't being reaped before, either. I wanted to have a
function called readEmAndReap but the reaping should actually happen in
a signal handler.
2018-08-10 13:36:00 -04:00
Curtis McEnroe 1a9ae050d6
Rename chan to join
In preparation for multi-channel?
2018-08-10 00:01:35 -04:00
Curtis McEnroe 4e1501df41
Add -u option for setting user 2018-08-09 21:46:22 -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 c024147504
Add commands to tab complete 2018-08-08 21:48:30 -04:00
Curtis McEnroe fe21b1410f
Convert input to multibyte before handling 2018-08-07 15:46:04 -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 6df61b5dda
Show source link on exit 2018-08-04 21:23:28 -04:00
Curtis McEnroe 7b5bc5aa41
Rename ui chat to log 2018-08-04 17:59:43 -04:00
Curtis McEnroe 35589a5624
Rename client to irc 2018-08-04 17:54:46 -04:00
Curtis McEnroe 39507f0f8f
Handle terminal resizing 2018-08-04 15:04:48 -04:00
Curtis McEnroe 5217f876b0
Do not free const string port 2018-08-04 13:43:36 -04:00
Curtis McEnroe ccdeb0c556
Split source into several files
Can't believe I have to do this.
2018-08-04 13:35:29 -04:00
Curtis McEnroe c6cd59f5c8
Exit on zero read 2018-08-04 01:38:43 -04:00
Curtis McEnroe fc5bf09c46
Handle nick errors 2018-08-04 01:37:07 -04:00
Curtis McEnroe 7baaff0777
Handle /nick and /quit
/quit doesn't actually... quit, right now. The only way to know that the
connection is closed is tls_read returning zero, it seems.
2018-08-04 01:13:06 -04:00
Curtis McEnroe fe938fba53
Track own nick 2018-08-04 01:12:26 -04:00
Curtis McEnroe 5522529e83
Word all status messages in present 2018-08-04 00:09:39 -04:00
Curtis McEnroe 269662d9ca
Handle input
This turned out a lot better than expected. Still a long way to go in
terms of line-editing, but at least backspace works!
2018-08-03 23:54:28 -04:00
Curtis McEnroe 9f17adce80
Track own username
So that we can colour our own messages correctly.
2018-08-03 23:00:53 -04:00
Curtis McEnroe 1daf23d8a5
Use a wide pad for the topic 2018-08-03 19:48:15 -04:00
Curtis McEnroe 18dcb256ac
Ignore NOTICEs not sent to the channel 2018-08-03 19:34:28 -04:00
Curtis McEnroe 0e99c48912
Handle KICK and NICK 2018-08-03 19:34:19 -04:00
Curtis McEnroe a2ea9a9035
Continue on EINTR from poll
Resizing the terminal causes it.
2018-08-03 19:22:44 -04:00
Curtis McEnroe 674e527b33
Handle ACTIONs 2018-08-03 19:17:29 -04:00
Curtis McEnroe 6ccaf872fc
Use more octal char literals
I might be coming around to octal.
2018-08-03 19:16:46 -04:00
Curtis McEnroe c609684d2b
Send a WHO in response to NAMES to get usernames
Other than this slight hack, I think coloring by username rather than
nick is a much better idea.
2018-08-03 18:58:19 -04:00
Curtis McEnroe 3b490562d4
Colorize nicks and channels 2018-08-03 18:07:19 -04:00
Curtis McEnroe 9e0bcb3805
Add support for mIRC colors 2018-08-03 18:00:48 -04:00
Curtis McEnroe 0a1528796b
Handle bold, italic, underline 2018-08-03 14:18:14 -04:00
Curtis McEnroe c383f9f3a7
Add prift function for "prefix shift"
Forgive me.
2018-08-03 14:12:49 -04:00
Curtis McEnroe d3e90b6cf2
Use libtls "compat" ciphers
irc.mozilla.org, using GnuTLS, doesn't support *any* of the "secure"
ciphers!
2018-08-02 23:59:41 -04:00
Curtis McEnroe a5009665b0
Add UI and handle some kinds of server messages
Seems like handling input is going to be the worst thing ever.
2018-08-02 22:29:10 -04:00
Curtis McEnroe 9df93e8301
Start IRC client
It dumps lines from the server onto the curses window.
2018-08-02 00:29:35 -04:00