summary refs log tree commit diff
path: root/chat.h (follow)
Commit message (Collapse)AuthorAge
* Add /query, /part and /closeJune McEnroe2018-08-13
| | | | | 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.
* Factor out input param and add tagFindJune McEnroe2018-08-12
| | | | So that /view can't just invent tags.
* Fix /open ranges by passing all URLs to open(1)June McEnroe2018-08-12
| | | | | This is going to be incompatible with xdg-open since it takes only one URL at a time. Write a wrapper script.
* Rework UI code for multi-channelJune McEnroe2018-08-11
| | | | | | | | | | | | | | | | | | | | | | 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.
* Add term.c for extra terminal featuresJune McEnroe2018-08-11
| | | | Look at the cute little state machine!
* Become multi-channelJune McEnroe2018-08-10
| | | | There's a lot of UI missing for it, but it technically works.
* Move process spawning onto the event loopJune McEnroe2018-08-10
| | | | | | 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.
* Rename chan to joinJune McEnroe2018-08-10
| | | | In preparation for multi-channel?
* Add PASS optionJune McEnroe2018-08-09
| | | | WEBIRC is now -W.
* Add URL detection, listing and openingJune McEnroe2018-08-09
| | | | Might also add /copy, like /open.
* Add commands to tab completeJune McEnroe2018-08-08
|
* Factor out line editing to edit.cJune McEnroe2018-08-08
|
* Implement cycling tab completeJune McEnroe2018-08-07
| | | | Not properly hooked up to the UI yet.
* Highlight and beep pingsJune McEnroe2018-08-07
|
* Factor out allocating conversion between wcs and mbsJune McEnroe2018-08-07
|
* Convert input to multibyte before handlingJune McEnroe2018-08-07
|
* Populate tab-complete listJune McEnroe2018-08-07
|
* Hack clang into checking uiFmt format stringsJune McEnroe2018-08-07
|
* Use wchar_t strings for all of UIJune McEnroe2018-08-06
| | | | vaswprintf is a nightmare.
* Show source link on exitJune McEnroe2018-08-04
|
* Rename ui chat to logJune McEnroe2018-08-04
|
* Rename client to ircJune McEnroe2018-08-04
|
* Split source into several filesJune McEnroe2018-08-04
Can't believe I have to do this.