Curtis McEnroe
36d37bbf67
Handle PART and QUIT without messages
2018-08-07 01:17:22 -04:00
Curtis McEnroe
f1b1ffe79f
Make safe filling the who buffer
2018-08-07 00:12:08 -04:00
Curtis McEnroe
a26a6fee8d
Add reverse and reset IRC formatting codes
2018-08-07 00:09:50 -04:00
Curtis McEnroe
d71d040995
Rewrite line editing again, add formatting
2018-08-06 22:14:59 -04:00
Curtis McEnroe
1c2b038396
Fix allocation size in vaswprintf
...
This is so embarrassing. It only started crashing once it had strings
that were long enough, and then it took me so long to notice this
mistake. I was worried I was still doing va_list wrong somehow.
2018-08-06 22:08:57 -04:00
Curtis McEnroe
3f3fa34d8a
Implement word wrapping
2018-08-06 15:12:13 -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
ea4c70dae5
Rename line editing functions
2018-08-06 11:22:45 -04:00
Curtis McEnroe
5bb96a79e7
Initialize all possible color pairs
...
This is actually possible with use_default_colors!
2018-08-05 18:34:35 -04:00
Curtis McEnroe
dbed1929dc
Refactor color initialization
2018-08-05 15:00:38 -04:00
Curtis McEnroe
c1283ed18a
Add ^L redraw
2018-08-05 13:42:37 -04:00
Curtis McEnroe
7beb4c9912
Use 16 colors if available
...
Fall back to using bold if there are only 8 colors. This also allowed
bright background colors in 16-color terminals.
I must port this system to torus. I'll be able to remove the awful
termcap patch hack.
2018-08-05 13:28:49 -04:00
Curtis McEnroe
7e02eddcf4
Limit parsed colors to number of mIRC colors
...
Oh boy that's embarrassing.
2018-08-05 11:00:01 -04:00
Curtis McEnroe
6df61b5dda
Show source link on exit
2018-08-04 21:23:28 -04:00
Curtis McEnroe
8fdf2c402d
Implement line editing, scrolling
...
Don't really have a way to implement the M-* keys, and currently missing
C-w.
2018-08-04 20:54:50 -04:00
Curtis McEnroe
ababcbb080
Handle /topic
2018-08-04 18:43:04 -04:00
Curtis McEnroe
fbf78ef22b
Add README
2018-08-04 18:00:54 -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
b163492552
Fix chat draw boundaries
2018-08-04 17:08:15 -04:00
Curtis McEnroe
aca376bc89
Factor out mIRC color parsing
2018-08-04 16:36:25 -04:00
Curtis McEnroe
ea23dcec3b
Scroll the input pad
2018-08-04 16:17:20 -04:00
Curtis McEnroe
f8e5648a9a
Copy /usr/share/locale into chroot
...
Otherwise only ASCII can be entered.
2018-08-04 15:30:27 -04:00
Curtis McEnroe
39507f0f8f
Handle terminal resizing
2018-08-04 15:04:48 -04:00
Curtis McEnroe
6e4f98d6eb
Handle /names and /who
2018-08-04 14:33:57 -04:00
Curtis McEnroe
96888b6c32
Add libedit to chroot
...
Needed by sh.
2018-08-04 14:17:18 -04:00
Curtis McEnroe
95b46b8559
Define A_ITALIC if not defined
...
System ncurses on macOS doesn't define it. At least not in El Capitan.
2018-08-04 13:58:44 -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
d2d421735e
Link with -lcursesw
2018-08-03 13:36:41 -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