about summary refs log tree commit diff
path: root/irc.c (unfollow)
Commit message (Collapse)Author
2018-09-06Move event loop to event.cJune McEnroe
2018-09-05Preserve scroll position when new lines appearJune McEnroe
2018-09-02Use PascalCase for constantsJune McEnroe
Begone underscores.
2018-09-02Add status indicatorsJune McEnroe
2018-09-02Write terminating null in allocating wcs/mbs conversionsJune McEnroe
Turns out wcsnrtombs doesn't.
2018-09-02Treat all direct messages as pingsJune McEnroe
2018-09-02Add aswprintfJune McEnroe
The format string won't get checked but I'm not sure I can reasonably use the same hack.
2018-09-02Mark views when they are createdJune McEnroe
2018-09-02Simplify invalid nick messagesJune McEnroe
2018-09-02Include time.h for time_t in chat.hJune McEnroe
2018-08-20Remove FIXME for tracking tags in WHO handlingJune McEnroe
I don't think it'll ever be a problem.
2018-08-20Don't clobber tab order on /whoJune McEnroe
2018-08-20Remove unnecessary includeJune McEnroe
2018-08-20Add wcsnchr, wcsnrchr, awcsntombsJune 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-20Set errno in vaswprintf in case vswprintf does notJune McEnroe
As is the case on GNU.
2018-08-20Avoid unportable iswascii(3)June McEnroe
2018-08-20Fix missing stdint.h includeJune McEnroe
2018-08-20Add uninstall targetJune McEnroe
2018-08-20Add sample sshd_configJune McEnroe
2018-08-20Add install targetJune McEnroe
2018-08-20Name project chatteJune McEnroe
2018-08-18Accept unique prefixes of commandsJune McEnroe
2018-08-18Fix /query error handlingJune McEnroe
Evidence this should be factored somehow else so the extra check is unnecessary.
2018-08-18Alias /n to /view n where n is a numberJune McEnroe
2018-08-18Do not set log files executableJune McEnroe
Oops.
2018-08-17Add loggingJune 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/pingsJune 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 slashJune McEnroe
2018-08-14Detect pings in ACTIONsJune McEnroe
2018-08-14Clean up termEvent state machineJune McEnroe
2018-08-14Keep hashing '\0' until color is not blackJune McEnroe
Actually uses the rest of the hash state this way.
2018-08-13Set title to tag nameJune McEnroe
2018-08-13Add termTitleJune McEnroe
2018-08-13Don't ping selfJune McEnroe
2018-08-13Improve configuration of MakefileJune McEnroe
2018-08-13Detect pings anywhere in messageJune McEnroe
2018-08-13Add /query, /part and /closeJune 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 tagFindJune McEnroe
So that /view can't just invent tags.
2018-08-12Fix /open ranges by passing all URLs to open(1)June 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 viewJune McEnroe
2018-08-12Disable focus tracking in uiHideJune 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 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.