summary refs log tree commit diff
path: root/chat.h
AgeCommit message (Collapse)Author
2018-12-03Implement base64 encodingCurtis McEnroe
Will be used for SASL authentication.
2018-12-03Ignore ~ username prefixesCurtis McEnroe
This simplifies a lot.
2018-12-02Move host, port, pass, webp to selfCurtis McEnroe
2018-12-02Add -r option for realnameCurtis McEnroe
2018-12-01Crudely handle reconnecting after suspendCurtis McEnroe
2018-11-30Handle signals consistently in the event loopCurtis McEnroe
2018-11-30Separate ircConnect and ircDisconnectCurtis McEnroe
2018-11-29Add basic log replayCurtis McEnroe
2018-11-27Rename project catgirlCurtis McEnroe
This simplifies things.
2018-10-28Add notification with notify-sendCurtis McEnroe
2018-10-28Use const char *argv[] signaturesCurtis McEnroe
C is really weird about this stuff, but this makes more sense to me.
2018-09-14Factor out uiPrompt to call on nick changeCurtis McEnroe
2018-09-13Move color selection to format.cCurtis McEnroe
2018-09-13Add IRCDefault to colors enumCurtis McEnroe
2018-09-13Rewrite UI againCurtis McEnroe
The persistent topic is gone and the status line is now at the top. The status formatting still needs to be reworked. I also want to try showing the nick in the input window so it really looks like your next message.
2018-09-12Use formatParse split to position input cursorCurtis McEnroe
2018-09-12Factor out IRC formatting parsingCurtis McEnroe
2018-09-11Add urlOpenMatchCurtis McEnroe
2018-09-10Add /man commandCurtis McEnroe
2018-09-06Move event loop to event.cCurtis McEnroe
2018-09-02Use PascalCase for constantsCurtis McEnroe
Begone underscores.
2018-09-02Add aswprintfCurtis McEnroe
The format string won't get checked but I'm not sure I can reasonably use the same hack.
2018-09-02Include time.h for time_t in chat.hCurtis McEnroe
2018-08-20Don't clobber tab order on /whoCurtis McEnroe
2018-08-20Add wcsnchr, wcsnrchr, awcsntombsCurtis McEnroe
This eliminates calls to editHead and editTail inside edit.c. Oh god I'm sorry for following libc naming conventions for this stuff.
2018-08-20Name project chatteCurtis McEnroe
2018-08-17Add loggingCurtis McEnroe
The reason logFmt takes a timestamp as a parameter is to support IRCv3 server-time in the future to accurately log the znc buffer. Hopefully.
2018-08-17Add UI "heat" for status/messages/pingsCurtis McEnroe
Bring back the beeps! Allow pings from notices. Also factor out dequoting of part/quit messages.
2018-08-13Add termTitleCurtis McEnroe
2018-08-13Add /query, /part and /closeCurtis McEnroe
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-12Factor out input param and add tagFindCurtis McEnroe
So that /view can't just invent tags.
2018-08-12Fix /open ranges by passing all URLs to open(1)Curtis McEnroe
This is going to be incompatible with xdg-open since it takes only one URL at a time. Write a wrapper script.
2018-08-11Rework UI code for multi-channelCurtis McEnroe
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-11Add term.c for extra terminal featuresCurtis McEnroe
Look at the cute little state machine!
2018-08-10Become multi-channelCurtis McEnroe
There's a lot of UI missing for it, but it technically works.
2018-08-10Move process spawning onto the event loopCurtis McEnroe
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.
2018-08-10Rename chan to joinCurtis McEnroe
In preparation for multi-channel?
2018-08-09Add PASS optionCurtis McEnroe
WEBIRC is now -W.
2018-08-09Add URL detection, listing and openingCurtis McEnroe
Might also add /copy, like /open.
2018-08-08Add commands to tab completeCurtis McEnroe
2018-08-08Factor out line editing to edit.cCurtis McEnroe
2018-08-07Implement cycling tab completeCurtis McEnroe
Not properly hooked up to the UI yet.
2018-08-07Highlight and beep pingsCurtis McEnroe
2018-08-07Factor out allocating conversion between wcs and mbsCurtis McEnroe
2018-08-07Convert input to multibyte before handlingCurtis McEnroe
2018-08-07Populate tab-complete listCurtis McEnroe
2018-08-07Hack clang into checking uiFmt format stringsCurtis McEnroe
2018-08-06Use wchar_t strings for all of UICurtis McEnroe
vaswprintf is a nightmare.
2018-08-04Show source link on exitCurtis McEnroe
2018-08-04Rename ui chat to logCurtis McEnroe