summary refs log tree commit diff
AgeCommit message (Collapse)Author
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-16Don't treat input as command if word contains extra slashCurtis McEnroe
2018-08-14Detect pings in ACTIONsCurtis McEnroe
2018-08-14Clean up termEvent state machineCurtis McEnroe
2018-08-14Keep hashing '\0' until color is not blackCurtis McEnroe
Actually uses the rest of the hash state this way.
2018-08-13Set title to tag nameCurtis McEnroe
2018-08-13Add termTitleCurtis McEnroe
2018-08-13Don't ping selfCurtis McEnroe
2018-08-13Improve configuration of MakefileCurtis McEnroe
2018-08-13Detect pings anywhere in messageCurtis 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-12Avoid setting mark if switching to the same viewCurtis McEnroe
2018-08-12Disable focus tracking in uiHideCurtis McEnroe
Most significantly so that the sequences don't end up on screen during a /url.
2018-08-11Add shift-{left,right} for single-line scrollingCurtis McEnroe
2018-08-11Leave room for topic when creating viewCurtis McEnroe
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-11Fix isSelf user checkingCurtis 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 handlingCurtis McEnroe
Oops. Had commented it out so I could attach a debugger without exiting on EINTR.
2018-08-11Fix removing entries during tab completeCurtis 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-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-10Remove unnecessary va_endCurtis McEnroe
va_end must be called before the function returns, but errx is noreturn.
2018-08-10Rename chan to joinCurtis McEnroe
In preparation for multi-channel?
2018-08-09Add -u option for setting userCurtis McEnroe
2018-08-09Color brackets around nicksCurtis McEnroe
Also switch self-brackets to () since [] can appear in nicks.
2018-08-09Fix 432 handler paramsCurtis McEnroe
2018-08-09Add M-b, M-f, M-DEL, M-d, C-wCurtis McEnroe
2018-08-09Add PASS optionCurtis McEnroe
WEBIRC is now -W.
2018-08-09Ignore trailing space on slash commandsCurtis McEnroe
2018-08-09Replace shift with a great variadic functionCurtis McEnroe
I am disappointed in the lack of compiler attributes for type-checking variadic functions.
2018-08-09Only tabTouch nick if not selfCurtis McEnroe
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-08Use blank line as unread markerCurtis McEnroe
2018-08-08Add Homebrew LibreSSL paths to MakefileCurtis McEnroe
2018-08-08Distinguish self with square bracketsCurtis McEnroe
2018-08-08Add markers as lines to the logCurtis McEnroe
2018-08-08Factor out line editing to edit.cCurtis McEnroe
2018-08-08Set log marker on FocusOut eventCurtis McEnroe
All of this needs refactoring, probably separating the line editing out from the actual input handling.
2018-08-08Color own messages 15Curtis 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 markerCurtis McEnroe
2018-08-07Reset attrs after addIRCCurtis McEnroe
Otherwise the marker inherits whatever was left on.
2018-08-07Add tab complete UICurtis McEnroe
This definitely needs refactoring.
2018-08-07Implement cycling tab completeCurtis McEnroe
Not properly hooked up to the UI yet.
2018-08-07Mark log when scrolling upCurtis McEnroe
2018-08-07Remove extraneous slash from unrecognized commandCurtis McEnroe