aboutsummaryrefslogtreecommitdiff
path: root/xC.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* xC: improve libedit multiline input handlingPřemysl Eric Janouch2022-08-291-0/+4
|
* xC: erase remaining mentions of a "backlog helper"Přemysl Eric Janouch2022-08-291-4/+4
|
* xC: don't autosave when nothing changedPřemysl Eric Janouch2022-08-291-10/+13
|
* xC: move TEXT_* constants where they belongPřemysl Eric Janouch2022-08-271-12/+12
|
* xC: normalize BSD Editline's history behaviourPřemysl Eric Janouch2022-08-271-10/+43
| | | | Now it's a realistically useful frontend.
* xC: general.save_on_quit -> general.autosavePřemysl Eric Janouch2022-08-271-5/+7
| | | | | Power outages and similar situations make the former unreliable, so get rid of any false promise it might seem to give.
* xC: revise configuration optionsPřemysl Eric Janouch2022-08-271-96/+98
| | | | | | | | | | | This commit constitutes a breaking change to old configurations. All behaviour.* options have now become general.*, with the following few renames as exceptions: - editor_command -> editor - backlog_helper -> pager - backlog_helper_strip_formatting -> pager_strip_formatting
* xC: label code sections betterPřemysl Eric Janouch2022-08-271-9/+9
| | | | Introduce tildes as a new sublevel of markers.
* xC: make fancy-prompt.lua alignment more reliablePřemysl Eric Janouch2022-08-271-3/+30
| | | | And generally clean up that script.
* Bump copyright yearsPřemysl Eric Janouch2022-08-171-1/+1
|
* xC: expand behaviour.editor_command examplesPřemysl Eric Janouch2022-08-141-1/+9
|
* xC: improve backlog helper capabilitiesPřemysl Eric Janouch2022-08-141-12/+19
| | | | | | | | | | | | | | | | | | | Snippets now receive positional parameters in the form of the buffer's name in the locale encoding, and a filename if applicable (we keep passing stdin along with the filename, which happens to work out well for less(1)). The default value of the configuration option also no longer uses the "long prompt", which used to unhelpfully tell position in terms of lines, but rather sets its own prompt that counts pages, and makes sure to indicate the source buffer. The main motivation behind this change is to make the 'v' command work in less(1). LESSSECURE must be omitted from the snippet for this to work. Bump liberty to receive a config parser that allows for less convoluted escaping.
* xC, xD: add basic WALLOPS supportPřemysl Eric Janouch2022-02-041-0/+11
|
* xC: quote text coming from a bracketed pastePřemysl Eric Janouch2021-10-301-3/+39
| | | | Not having this has caused me much annoyance over the years.
* xC: allow passing the cursor position to editorsPřemysl Eric Janouch2021-10-301-11/+114
| | | | | | | | | | | | | | | | | | | Add a configuration option to set a custom editor command, different from EDITOR or VISUAL--those remain as defaults. Implement substitutions allowing to convey cursor information to VIM and Emacs (the latter of which is fairly painful to cater to), and put usage hints in the configuration option's description. This should make the editing experience a bit more seamless for users, even though the position is carried over in one way only. No sophisticated quoting capabilities were deemed necessary, it is a lot of code already. The particular syntax is inspired by .desktop files and systemd. ["/bin/sh", "-c", "vim +$2go \"$1\"", filename, position, line, column] would be a slightly simpler but cryptic way of implementing this.