Commit Graph

948 Commits (be9bffdf497594aa321b620093cef1f180764576)

Author SHA1 Message Date
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
Curtis McEnroe 9c5f273f5c
Add chroot.tar target 2018-08-02 22:02:59 -04:00
Curtis McEnroe c068321263
Add LICENSE file 2018-08-02 20:55:21 -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