about summary refs log tree commit diff
path: root/ui.c (unfollow)
Commit message (Collapse)Author
2018-08-11Add shift-{left,right} for single-line scrollingJune McEnroe
2018-08-11Leave room for topic when creating viewJune McEnroe
2018-08-11Rework UI code for multi-channelJune 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 featuresJune McEnroe
Look at the cute little state machine!
2018-08-11Fix isSelf user checkingJune McEnroe
Other users with the same username are not self. The fun effect of this was that I could tab-complete "june_" but not "june".
2018-08-11Fix commented out error handlingJune McEnroe
Oops. Had commented it out so I could attach a debugger without exiting on EINTR.
2018-08-11Fix removing entries during tab completeJune McEnroe
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.
2018-08-10Become multi-channelJune McEnroe
There's a lot of UI missing for it, but it technically works.
2018-08-10Move process spawning onto the event loopJune 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-10Remove unnecessary va_endJune McEnroe
va_end must be called before the function returns, but errx is noreturn.
2018-08-10Rename chan to joinJune McEnroe
In preparation for multi-channel?
2018-08-09Add -u option for setting userJune McEnroe
2018-08-09Color brackets around nicksJune McEnroe
Also switch self-brackets to () since [] can appear in nicks.
2018-08-09Fix 432 handler paramsJune McEnroe
2018-08-09Add M-b, M-f, M-DEL, M-d, C-wJune McEnroe
2018-08-09Add PASS optionJune McEnroe
WEBIRC is now -W.
2018-08-09Ignore trailing space on slash commandsJune McEnroe
2018-08-09Replace shift with a great variadic functionJune McEnroe
I am disappointed in the lack of compiler attributes for type-checking variadic functions.
2018-08-09Only tabTouch nick if not selfJune McEnroe
2018-08-09Add URL detection, listing and openingJune McEnroe
Might also add /copy, like /open.
2018-08-08Add commands to tab completeJune McEnroe
2018-08-08Use blank line as unread markerJune McEnroe
2018-08-08Add Homebrew LibreSSL paths to MakefileJune McEnroe
2018-08-08Distinguish self with square bracketsJune McEnroe
2018-08-08Add markers as lines to the logJune McEnroe
2018-08-08Factor out line editing to edit.cJune McEnroe
2018-08-08Set log marker on FocusOut eventJune McEnroe
All of this needs refactoring, probably separating the line editing out from the actual input handling.
2018-08-08Color own messages 15June McEnroe
My own settings have "white" slightly darker than the default color, so this helps to distinguish my own messages.
2018-08-08Use BLACK LEFT-POINTING TRIANGLE for markerJune McEnroe
2018-08-07Reset attrs after addIRCJune McEnroe
Otherwise the marker inherits whatever was left on.
2018-08-07Add tab complete UIJune McEnroe
This definitely needs refactoring.
2018-08-07Implement cycling tab completeJune McEnroe
Not properly hooked up to the UI yet.
2018-08-07Mark log when scrolling upJune McEnroe
2018-08-07Remove extraneous slash from unrecognized commandJune McEnroe
2018-08-07Highlight and beep pingsJune McEnroe
2018-08-07Factor out allocating conversion between wcs and mbsJune McEnroe
2018-08-07Match commands case-insensitivelyJune McEnroe
Also include the slash in their names so that they can be added to tab-complete later.
2018-08-07Convert input to multibyte before handlingJune McEnroe
2018-08-07Populate tab-complete listJune McEnroe
2018-08-07Fix /me formatting side-effectsJune McEnroe
NEVER pass side-effects to a macro.
2018-08-07Define ui.c BUF_LEN with enumJune McEnroe
2018-08-07Hack clang into checking uiFmt format stringsJune McEnroe
2018-08-07Handle PART and QUIT without messagesJune McEnroe
2018-08-07Make safe filling the who bufferJune McEnroe
2018-08-07Add reverse and reset IRC formatting codesJune McEnroe
2018-08-06Rewrite line editing again, add formattingJune McEnroe
2018-08-06Fix allocation size in vaswprintfJune McEnroe
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.
2018-08-06Implement word wrappingJune McEnroe
2018-08-06Use wchar_t strings for all of UIJune McEnroe
vaswprintf is a nightmare.
2018-08-06Rename line editing functionsJune McEnroe