aboutsummaryrefslogtreecommitdiff
path: root/xC.c
Commit message (Collapse)AuthorAgeFilesLines
* xC: improve the --format modePřemysl Eric Janouch2023-05-221-3/+18
| | | | | | | Avoid having formatting spill over the rest of the line, by placing the automatic formatting reset before newlines. Also handle longer lines properly.
* xC: fully synchronize input history with frontendsPřemysl Eric Janouch2022-10-051-20/+96
| | | | | | | | The missing parts were: - frontends to client - client to frontends after the initial sync - frontend to other frontends
* xC: clean upPřemysl Eric Janouch2022-09-301-2/+0
|
* xC/xP: send buffer input history during syncPřemysl Eric Janouch2022-09-301-1/+69
| | | | | This transfer is currenly quite simplistic, but it paves the way for further extensions.
* xC/xP: fix unseen message countingPřemysl Eric Janouch2022-09-281-19/+15
| | | | | | | | xC: advance unread message counters even with leaked messages, and don't unnecessarily set the highlighted flag. Plus clean up. xP: make leaked non-unimportant messages advance the counter for unimportant messages, so that the buffer doesn't get emboldened.
* xP: support adding formatting from keyboardPřemysl Eric Janouch2022-09-231-1/+8
| | | | Just like in xC, only with some indication.
* xP: produce a custom font for IRC formattingPřemysl Eric Janouch2022-09-221-0/+1
| | | | | | Given that the generated file needs a manual adjustment, its small size, and the dependencies involved, it will be checked in to the repository.
* xC/xP: relay and render channel modesPřemysl Eric Janouch2022-09-211-31/+71
|
* xC/xP: relay and render channel topicsPřemysl Eric Janouch2022-09-211-86/+119
|
* xC: fix autocomplete in server buffersPřemysl Eric Janouch2022-09-201-2/+3
|
* xC/xP: show own user's info in frontendsPřemysl Eric Janouch2022-09-201-9/+28
|
* xC/xP: improve rendering of highlighting actionsPřemysl Eric Janouch2022-09-201-2/+2
|
* Make sure to always find installed pluginsPřemysl Eric Janouch2022-09-191-0/+1
|
* xC: improve Readline completionPřemysl Eric Janouch2022-09-181-0/+12
| | | | | | | | The autocomplete for /set used to be extremely annoying, and menu-complete-display-prefix also prevents mistaken highlights. One downside is that using plain Tab in channels no longer just inserts the last-talking nickname, one needs to press it twice.
* xC: reorganize relay code, improve loggingPřemysl Eric Janouch2022-09-171-224/+228
| | | | | | | Even with one forward function declaration down, it was possible to move most code to a more convenient location. Most logging has thus been fixed to go to buffers.
* xC: don't abort on accept() failurePřemysl Eric Janouch2022-09-171-4/+8
| | | | Just disable the relay.
* xC: clean upPřemysl Eric Janouch2022-09-171-2/+3
|
* xC/xP: implement M-H in the web frontendPřemysl Eric Janouch2022-09-161-10/+22
|
* xC: mildly optimize relay trafficPřemysl Eric Janouch2022-09-141-2/+14
|
* xC: silence some compiler warningsPřemysl Eric Janouch2022-09-111-10/+10
|
* xC/xP: send buffer type and server statePřemysl Eric Janouch2022-09-111-24/+112
| | | | Also make PM highlighting behaviour consistent.
* xC: clean upPřemysl Eric Janouch2022-09-111-9/+16
|
* xC: make terminal attributes abstractPřemysl Eric Janouch2022-09-111-214/+285
| | | | | | | | And translate them for frontends. This is very long overdue, and a rather significant cleanup. Bump liberty.
* xC/xP: support hiding unimportant messages at allPřemysl Eric Janouch2022-09-101-0/+5
|
* xC: deal with so far unexpected multiline messagesPřemysl Eric Janouch2022-09-101-9/+17
| | | | And get rid of an outdated unmarked TODO comment.
* xC: split Command.BUFFER_INPUT on newlinesPřemysl Eric Janouch2022-09-101-26/+25
|
* xC/xP: only send buffer stats in the initial syncPřemysl Eric Janouch2022-09-101-0/+11
| | | | | The client and frontends track these separately, there is no need for hard synchronization.
* xC: use the relay protocol's RPC for pingsPřemysl Eric Janouch2022-09-081-10/+14
|
* xC/xP: mark highlights and buffer activityPřemysl Eric Janouch2022-09-081-0/+13
| | | | And more or less finalize out the protocol for this use case.
* xC: don't autoactivate buffers on forced JOINsPřemysl Eric Janouch2022-09-071-7/+42
|
* xP: resolve various issues, mostly in stylingPřemysl Eric Janouch2022-09-071-2/+2
|
* xP: implement buffer line leakagePřemysl Eric Janouch2022-09-071-6/+8
| | | | Rather than on redisplay, these get cleared on reconnect.
* xC: add a trivial /relay commandPřemysl Eric Janouch2022-09-071-0/+20
| | | | For there is otherwise no way of getting that information.
* xC: use liberty logging lessPřemysl Eric Janouch2022-09-071-4/+7
| | | | | These messages cannot be relayed to frontends (they could be, but it's useful to keep them distinct rather than redirected).
* xC: describe general.editor parse errorsPřemysl Eric Janouch2022-09-071-7/+12
|
* xC: define critical bindings after el_source()Přemysl Eric Janouch2022-09-061-7/+6
| | | | And use ^C rather than ^G.
* xC: implement buffer completion in the relayPřemysl Eric Janouch2022-09-061-66/+98
| | | | | And actually support completion with non-UTF-8 locales. We used to ignore the encoding conversion result.
* xC/xP: pass timestamps with millisecond precisionPřemysl Eric Janouch2022-09-061-1/+1
| | | | Future-proofing the protocol.
* xC/xP: turn the action asterisk into a renditionPřemysl Eric Janouch2022-09-051-8/+10
|
* xC/xP: fix colour values, and render them with CSSPřemysl Eric Janouch2022-09-051-3/+6
|
* xC: also force monospace for RPL_MOTDSTARTPřemysl Eric Janouch2022-09-051-0/+1
| | | | It tends to looks inconsistent without.
* Start X11 and web frontends for xCPřemysl Eric Janouch2022-09-051-43/+742
| | | | | | | | | | | | | | | For this, we needed a wire protocol. After surveying available options, it was decided to implement an XDR-like protocol code generator in portable AWK. It now has two backends, per each of: - xF, the X11 frontend, is in C, and is meant to be the primary user interface in the future. - xP, the web frontend, relies on a protocol proxy written in Go, and is meant for use on-the-go (no pun intended). They are very much work-in-progress proofs of concept right now, and the relay protocol is certain to change.
* xC: slightly clean up character encodingsPřemysl Eric Janouch2022-09-021-2/+5
|
* xC: clean up loggingPřemysl Eric Janouch2022-09-021-57/+74
| | | | | | Don't treat rendition as flags, separate the two. Also treat join and part arrows as rendition.
* xC: make alias creation tolerant to prefixed namesPřemysl Eric Janouch2022-08-291-1/+2
| | | | | | | Those would not work, so skip the first forward slash. Note that liberty can save arbitrary alias names since 6e93119, making the removed comment about checking outdated.
* xC: deal with conflicts when renaming buffersPřemysl Eric Janouch2022-08-291-7/+3
|
* xC: deal with any identifier conflictsPřemysl Eric Janouch2022-08-291-3/+16
| | | | | Invalid UTF-8 converted to UTF-8 may conflict with that which was valid UTF-8 in the first place.
* xC: fix some corner cases around terminal handlingPřemysl Eric Janouch2022-08-291-3/+13
|
* xC: use the correct way of resetting libeditPřemysl Eric Janouch2022-08-291-38/+13
| | | | | The only remaining major annoyance is incremental search seemingly not giving back control.
* xC: make libedit history switching more reliablePřemysl Eric Janouch2022-08-291-0/+2
|