Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Rework UI code for multi-channel | June McEnroe | 2018-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 features | June McEnroe | 2018-08-11 |
| | | | | Look at the cute little state machine! | ||
* | Fix isSelf user checking | June McEnroe | 2018-08-11 |
| | | | | | | | Other users with the same username are not self. The fun effect of this was that I could tab-complete "june_" but not "june". | ||
* | Fix commented out error handling | June McEnroe | 2018-08-11 |
| | | | | | Oops. Had commented it out so I could attach a debugger without exiting on EINTR. | ||
* | Fix removing entries during tab complete | June McEnroe | 2018-08-11 |
| | | | | | Since tabNext starts on match->next, if match gets removed, it should be set to match->prev so that tabNext will start in the same spot. | ||
* | Become multi-channel | June McEnroe | 2018-08-10 |
| | | | | There's a lot of UI missing for it, but it technically works. | ||
* | Move process spawning onto the event loop | June McEnroe | 2018-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. | ||
* | Remove unnecessary va_end | June McEnroe | 2018-08-10 |
| | | | | va_end must be called before the function returns, but errx is noreturn. | ||
* | Rename chan to join | June McEnroe | 2018-08-10 |
| | | | | In preparation for multi-channel? | ||
* | Add -u option for setting user | June McEnroe | 2018-08-09 |
| | |||
* | Color brackets around nicks | June McEnroe | 2018-08-09 |
| | | | | Also switch self-brackets to () since [] can appear in nicks. | ||
* | Fix 432 handler params | June McEnroe | 2018-08-09 |
| | |||
* | Add M-b, M-f, M-DEL, M-d, C-w | June McEnroe | 2018-08-09 |
| | |||
* | Add PASS option | June McEnroe | 2018-08-09 |
| | | | | WEBIRC is now -W. | ||
* | Ignore trailing space on slash commands | June McEnroe | 2018-08-09 |
| | |||
* | Replace shift with a great variadic function | June McEnroe | 2018-08-09 |
| | | | | | I am disappointed in the lack of compiler attributes for type-checking variadic functions. | ||
* | Only tabTouch nick if not self | June McEnroe | 2018-08-09 |
| | |||
* | Add URL detection, listing and opening | June McEnroe | 2018-08-09 |
| | | | | Might also add /copy, like /open. | ||
* | Add commands to tab complete | June McEnroe | 2018-08-08 |
| | |||
* | Use blank line as unread marker | June McEnroe | 2018-08-08 |
| | |||
* | Add Homebrew LibreSSL paths to Makefile | June McEnroe | 2018-08-08 |
| | |||
* | Distinguish self with square brackets | June McEnroe | 2018-08-08 |
| | |||
* | Add markers as lines to the log | June McEnroe | 2018-08-08 |
| | |||
* | Factor out line editing to edit.c | June McEnroe | 2018-08-08 |
| | |||
* | Set log marker on FocusOut event | June McEnroe | 2018-08-08 |
| | | | | | All of this needs refactoring, probably separating the line editing out from the actual input handling. | ||
* | Color own messages 15 | June McEnroe | 2018-08-08 |
| | | | | | My own settings have "white" slightly darker than the default color, so this helps to distinguish my own messages. | ||
* | Use BLACK LEFT-POINTING TRIANGLE for marker | June McEnroe | 2018-08-08 |
| | |||
* | Reset attrs after addIRC | June McEnroe | 2018-08-07 |
| | | | | Otherwise the marker inherits whatever was left on. | ||
* | Add tab complete UI | June McEnroe | 2018-08-07 |
| | | | | This definitely needs refactoring. | ||
* | Implement cycling tab complete | June McEnroe | 2018-08-07 |
| | | | | Not properly hooked up to the UI yet. | ||
* | Mark log when scrolling up | June McEnroe | 2018-08-07 |
| | |||
* | Remove extraneous slash from unrecognized command | June McEnroe | 2018-08-07 |
| | |||
* | Highlight and beep pings | June McEnroe | 2018-08-07 |
| | |||
* | Factor out allocating conversion between wcs and mbs | June McEnroe | 2018-08-07 |
| | |||
* | Match commands case-insensitively | June McEnroe | 2018-08-07 |
| | | | | | Also include the slash in their names so that they can be added to tab-complete later. | ||
* | Convert input to multibyte before handling | June McEnroe | 2018-08-07 |
| | |||
* | Populate tab-complete list | June McEnroe | 2018-08-07 |
| | |||
* | Fix /me formatting side-effects | June McEnroe | 2018-08-07 |
| | | | | NEVER pass side-effects to a macro. | ||
* | Define ui.c BUF_LEN with enum | June McEnroe | 2018-08-07 |
| | |||
* | Hack clang into checking uiFmt format strings | June McEnroe | 2018-08-07 |
| | |||
* | Handle PART and QUIT without messages | June McEnroe | 2018-08-07 |
| | |||
* | Make safe filling the who buffer | June McEnroe | 2018-08-07 |
| | |||
* | Add reverse and reset IRC formatting codes | June McEnroe | 2018-08-07 |
| | |||
* | Rewrite line editing again, add formatting | June McEnroe | 2018-08-06 |
| | |||
* | Fix allocation size in vaswprintf | June McEnroe | 2018-08-06 |
| | | | | | | 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. | ||
* | Implement word wrapping | June McEnroe | 2018-08-06 |
| | |||
* | Use wchar_t strings for all of UI | June McEnroe | 2018-08-06 |
| | | | | vaswprintf is a nightmare. | ||
* | Rename line editing functions | June McEnroe | 2018-08-06 |
| | |||
* | Initialize all possible color pairs | June McEnroe | 2018-08-05 |
| | | | | This is actually possible with use_default_colors! | ||
* | Refactor color initialization | June McEnroe | 2018-08-05 |
| |