Curtis McEnroe
240f9ebf84
Use PascalCase for constants
...
Begone underscores.
2018-09-02 16:13:00 -04:00
Curtis McEnroe
e3a344854f
Accept unique prefixes of commands
2018-08-18 20:17:08 -04:00
Curtis McEnroe
c1e0128803
Fix /query error handling
...
Evidence this should be factored somehow else so the extra check is
unnecessary.
2018-08-18 20:14:05 -04:00
Curtis McEnroe
e29f67dde5
Alias /n to /view n where n is a number
2018-08-18 18:31:51 -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
a38738c938
Don't treat input as command if word contains extra slash
2018-08-16 22:19:23 -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
1232ce451d
Factor out input param and add tagFind
...
So that /view can't just invent tags.
2018-08-12 23:55:12 -04:00
Curtis McEnroe
19464369c3
Fix /open ranges by passing all URLs to open(1)
...
This is going to be incompatible with xdg-open since it takes only one
URL at a time. Write a wrapper script.
2018-08-12 23:44:58 -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
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
1a9ae050d6
Rename chan to join
...
In preparation for multi-channel?
2018-08-10 00:01:35 -04:00
Curtis McEnroe
dbdf13b51a
Ignore trailing space on slash commands
2018-08-09 17:49:31 -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
41e7105fec
Remove extraneous slash from unrecognized command
2018-08-07 22:19:00 -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
fa270d9287
Hack clang into checking uiFmt format strings
2018-08-07 14:11:19 -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
ababcbb080
Handle /topic
2018-08-04 18:43:04 -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
6e4f98d6eb
Handle /names and /who
2018-08-04 14:33:57 -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