Curtis McEnroe
eac0f83efa
Factor out line editing to edit.c
2018-08-08 16:59:26 -04:00
Curtis McEnroe
b66c8abf70
Set log marker on FocusOut event
...
All of this needs refactoring, probably separating the line editing out
from the actual input handling.
2018-08-08 00:55:45 -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
c9b7846d23
Use BLACK LEFT-POINTING TRIANGLE for marker
2018-08-08 00:09:09 -04:00
Curtis McEnroe
ee0df2846e
Reset attrs after addIRC
...
Otherwise the marker inherits whatever was left on.
2018-08-07 23:40:40 -04:00
Curtis McEnroe
9114d0555c
Add tab complete UI
...
This definitely needs refactoring.
2018-08-07 23:03:08 -04:00
Curtis McEnroe
43eee8da71
Implement cycling tab complete
...
Not properly hooked up to the UI yet.
2018-08-07 22:40:05 -04:00
Curtis McEnroe
ee49c36655
Mark log when scrolling up
2018-08-07 22:19:45 -04:00
Curtis McEnroe
41e7105fec
Remove extraneous slash from unrecognized command
2018-08-07 22:19:00 -04:00
Curtis McEnroe
7d76246c3f
Highlight and beep pings
2018-08-07 17:51:23 -04:00
Curtis McEnroe
a6ede6f91f
Factor out allocating conversion between wcs and mbs
2018-08-07 16:24:14 -04:00
Curtis McEnroe
2fe8b4e614
Match commands case-insensitively
...
Also include the slash in their names so that they can be added to
tab-complete later.
2018-08-07 15:59:27 -04:00
Curtis McEnroe
fe21b1410f
Convert input to multibyte before handling
2018-08-07 15:46:04 -04:00
Curtis McEnroe
5d2b5cd51e
Populate tab-complete list
2018-08-07 14:58:32 -04:00
Curtis McEnroe
9ccb25a1a5
Fix /me formatting side-effects
...
NEVER pass side-effects to a macro.
2018-08-07 14:34:26 -04:00
Curtis McEnroe
0b429a7ccc
Define ui.c BUF_LEN with enum
2018-08-07 14:14:07 -04:00
Curtis McEnroe
fa270d9287
Hack clang into checking uiFmt format strings
2018-08-07 14:11:19 -04:00
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