This has been more of an exercise. The performance of Msftedit.dll
is rather abysmal, and its interface isn't the most accomodating.
That said, the frontend is quite usable, at least on Windows 10+.
There seem to be only a few things it could bring to the table,
compared to xP, making it barely worth the effort:
- saner keyboard controls,
- GVIM integration,
- slightly improved resource usage.
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.
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.
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
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.
By default it's a mere thousand connections, which is unnecessarily
crippling our advertised ability to handle lots of them.
Thanks for the advice, Lennart.
First, we indexed the colour array without a required offset.
Second, the data type was too small and overflowed negative.
Detected during a refactor, which this is a part of.
I'm not entirely sure, but it looks like some people might not like
jokes about the Holocaust.
On a more serious note, the project has become more serious over
the 7 or so years of its existence.
With IRCv3.2 echo-message, each successfully sent message would
move us to the front of the list used for chanuser autocomplete.
Such behaviour seems useless.
Also abandon the idea of bumping on other kinds of messages.
It didn't make sense to have these unimplemented,
though perhaps += shouldn't enforce a set.
Sadly, autocomplete is fairly difficult for -= of multiple items.