summary refs log tree commit diff
Commit message (Collapse)AuthorAge
...
* Use PascalCase for constantsJune McEnroe2018-09-02
| | | | Begone underscores.
* Add status indicatorsJune McEnroe2018-09-02
|
* Write terminating null in allocating wcs/mbs conversionsJune McEnroe2018-09-02
| | | | Turns out wcsnrtombs doesn't.
* Treat all direct messages as pingsJune McEnroe2018-09-02
|
* Add aswprintfJune McEnroe2018-09-02
| | | | | The format string won't get checked but I'm not sure I can reasonably use the same hack.
* Mark views when they are createdJune McEnroe2018-09-02
|
* Simplify invalid nick messagesJune McEnroe2018-09-02
|
* Include time.h for time_t in chat.hJune McEnroe2018-09-02
|
* Remove FIXME for tracking tags in WHO handlingJune McEnroe2018-08-20
| | | | I don't think it'll ever be a problem.
* Don't clobber tab order on /whoJune McEnroe2018-08-20
|
* Remove unnecessary includeJune McEnroe2018-08-20
|
* Add wcsnchr, wcsnrchr, awcsntombsJune McEnroe2018-08-20
| | | | | | This eliminates calls to editHead and editTail inside edit.c. Oh god I'm sorry for following libc naming conventions for this stuff.
* Set errno in vaswprintf in case vswprintf does notJune McEnroe2018-08-20
| | | | As is the case on GNU.
* Avoid unportable iswascii(3)June McEnroe2018-08-20
|
* Fix missing stdint.h includeJune McEnroe2018-08-20
|
* Add uninstall targetJune McEnroe2018-08-20
|
* Add sample sshd_configJune McEnroe2018-08-20
|
* Add install targetJune McEnroe2018-08-20
|
* Name project chatteJune McEnroe2018-08-20
|
* Accept unique prefixes of commandsJune McEnroe2018-08-18
|
* Fix /query error handlingJune McEnroe2018-08-18
| | | | | Evidence this should be factored somehow else so the extra check is unnecessary.
* Alias /n to /view n where n is a numberJune McEnroe2018-08-18
|
* Do not set log files executableJune McEnroe2018-08-18
| | | | Oops.
* Add loggingJune McEnroe2018-08-17
| | | | | 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.
* Add UI "heat" for status/messages/pingsJune McEnroe2018-08-17
| | | | | Bring back the beeps! Allow pings from notices. Also factor out dequoting of part/quit messages.
* Don't treat input as command if word contains extra slashJune McEnroe2018-08-16
|
* Detect pings in ACTIONsJune McEnroe2018-08-14
|
* Clean up termEvent state machineJune McEnroe2018-08-14
|
* Keep hashing '\0' until color is not blackJune McEnroe2018-08-14
| | | | Actually uses the rest of the hash state this way.
* Set title to tag nameJune McEnroe2018-08-13
|
* Add termTitleJune McEnroe2018-08-13
|
* Don't ping selfJune McEnroe2018-08-13
|
* Improve configuration of MakefileJune McEnroe2018-08-13
|
* Detect pings anywhere in messageJune McEnroe2018-08-13
|
* Add /query, /part and /closeJune McEnroe2018-08-13
| | | | | 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.
* Factor out input param and add tagFindJune McEnroe2018-08-12
| | | | So that /view can't just invent tags.
* Fix /open ranges by passing all URLs to open(1)June McEnroe2018-08-12
| | | | | This is going to be incompatible with xdg-open since it takes only one URL at a time. Write a wrapper script.
* Avoid setting mark if switching to the same viewJune McEnroe2018-08-12
|
* Disable focus tracking in uiHideJune McEnroe2018-08-12
| | | | | Most significantly so that the sequences don't end up on screen during a /url.
* Add shift-{left,right} for single-line scrollingJune McEnroe2018-08-11
|
* Leave room for topic when creating viewJune McEnroe2018-08-11
|
* Rework UI code for multi-channelJune McEnroe2018-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 featuresJune McEnroe2018-08-11
| | | | Look at the cute little state machine!
* Fix isSelf user checkingJune McEnroe2018-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 handlingJune McEnroe2018-08-11
| | | | | Oops. Had commented it out so I could attach a debugger without exiting on EINTR.
* Fix removing entries during tab completeJune McEnroe2018-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-channelJune McEnroe2018-08-10
| | | | There's a lot of UI missing for it, but it technically works.
* Move process spawning onto the event loopJune McEnroe2018-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_endJune McEnroe2018-08-10
| | | | va_end must be called before the function returns, but errx is noreturn.
* Rename chan to joinJune McEnroe2018-08-10
| | | | In preparation for multi-channel?