Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-02-23 | Add C-n and C-p key bindings to switch windows | Curtis McEnroe | |
2019-02-22 | Disable terminal flow control | Curtis McEnroe | |
This opens up C-o, C-q and C-s for key bindings without C-v. | |||
2019-02-22 | Reorganize UI code for the umpteenth time | Curtis McEnroe | |
It's actually in a good state now, I think. | |||
2019-02-21 | Replace "view" with "window" | Curtis McEnroe | |
I think originally I didn't want to use the same word as curses WINDOW but it's really much clearer for the user if they're just called windows. UI code probably needs yet another rewrite though. Still feels messy. | |||
2019-02-21 | Remove ROT13 | Curtis McEnroe | |
It's just not convenient when it can only do the whole line... | |||
2018-12-16 | Add M-? to apply ROT13 | Curtis McEnroe | |
2018-12-16 | Move base64 back to pls.c | Curtis McEnroe | |
2018-12-16 | Move base64 to string.c | Curtis McEnroe | |
2018-12-14 | Factor out ircQuit | Curtis McEnroe | |
2018-12-08 | Add uint typedef | Curtis McEnroe | |
2018-12-05 | Rename verbose to raw | Curtis McEnroe | |
And change the format of the sticky tag names again. | |||
2018-12-04 | Show error if disconnected unintentionally | Curtis McEnroe | |
2018-12-04 | Revert half-working reconnecting stuff | Curtis McEnroe | |
2018-12-04 | Add -a auth option for unimplemented SASL | Curtis McEnroe | |
2018-12-03 | Implement base64 encoding | Curtis McEnroe | |
Will be used for SASL authentication. | |||
2018-12-03 | Ignore ~ username prefixes | Curtis McEnroe | |
This simplifies a lot. | |||
2018-12-02 | Move host, port, pass, webp to self | Curtis McEnroe | |
2018-12-02 | Add -r option for realname | Curtis McEnroe | |
2018-12-01 | Crudely handle reconnecting after suspend | Curtis McEnroe | |
2018-11-30 | Handle signals consistently in the event loop | Curtis McEnroe | |
2018-11-30 | Separate ircConnect and ircDisconnect | Curtis McEnroe | |
2018-11-29 | Add basic log replay | Curtis McEnroe | |
2018-11-27 | Rename project catgirl | Curtis McEnroe | |
This simplifies things. | |||
2018-10-28 | Add notification with notify-send | Curtis McEnroe | |
2018-10-28 | Use const char *argv[] signatures | Curtis McEnroe | |
C is really weird about this stuff, but this makes more sense to me. | |||
2018-09-14 | Factor out uiPrompt to call on nick change | Curtis McEnroe | |
2018-09-13 | Move color selection to format.c | Curtis McEnroe | |
2018-09-13 | Add IRCDefault to colors enum | Curtis McEnroe | |
2018-09-13 | Rewrite UI again | Curtis 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-12 | Use formatParse split to position input cursor | Curtis McEnroe | |
2018-09-12 | Factor out IRC formatting parsing | Curtis McEnroe | |
2018-09-11 | Add urlOpenMatch | Curtis McEnroe | |
2018-09-10 | Add /man command | Curtis McEnroe | |
2018-09-06 | Move event loop to event.c | Curtis McEnroe | |
2018-09-02 | Use PascalCase for constants | Curtis McEnroe | |
Begone underscores. | |||
2018-09-02 | Add aswprintf | Curtis McEnroe | |
The format string won't get checked but I'm not sure I can reasonably use the same hack. | |||
2018-09-02 | Include time.h for time_t in chat.h | Curtis McEnroe | |
2018-08-20 | Don't clobber tab order on /who | Curtis McEnroe | |
2018-08-20 | Add wcsnchr, wcsnrchr, awcsntombs | Curtis 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-20 | Name project chatte | Curtis McEnroe | |
2018-08-17 | Add logging | Curtis 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-17 | Add UI "heat" for status/messages/pings | Curtis McEnroe | |
Bring back the beeps! Allow pings from notices. Also factor out dequoting of part/quit messages. | |||
2018-08-13 | Add termTitle | Curtis McEnroe | |
2018-08-13 | Add /query, /part and /close | Curtis 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-12 | Factor out input param and add tagFind | Curtis McEnroe | |
So that /view can't just invent tags. | |||
2018-08-12 | Fix /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-11 | Rework UI code for multi-channel | Curtis 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-11 | Add term.c for extra terminal features | Curtis McEnroe | |
Look at the cute little state machine! | |||
2018-08-10 | Become multi-channel | Curtis McEnroe | |
There's a lot of UI missing for it, but it technically works. | |||
2018-08-10 | Move process spawning onto the event loop | Curtis 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. |