21095a11d6
xM: fix build regression
2024-11-26 13:10:05 +01:00
a22baa4b55
xA: prevent sound playback GC
...
The beep sound could be cut short.
2024-11-14 16:48:44 +01:00
b3e545e0bb
xP: bump copyright years
2024-11-14 16:27:56 +01:00
cd76702ab2
xA/xW: dehighlight current buffer appropriately
2024-11-14 16:14:54 +01:00
977b073b58
xA: enforce internal icon from the start
2024-11-14 16:14:49 +01:00
46be4836df
xW: print the separator line at the end of buffer
2024-11-14 13:50:51 +01:00
05a41b2629
xA/xM/xW: refresh renamed buffers correctly
...
Rendering takes the current buffer into account,
so change its value before using it, not afterwards.
The order happened to not matter on at least Windows,
because we just queue a message.
2024-11-14 11:41:09 +01:00
a62ed5bbac
xA/xM: refresh buffer list on dehighlight
2024-11-14 11:41:08 +01:00
9c9776bacd
xA: make the log effectively read-only
2024-11-13 10:29:11 +01:00
086b879ab8
xA: add a "generate" target to the Makefile
...
So that Fyne tools can be run without building the default binary.
2024-11-12 17:11:23 +01:00
214c349869
xA: limit buffer length
2024-11-12 16:19:53 +01:00
3d975c9437
xA: downgrade Go version requirement
...
We need 1.22 for the "for" loop variable scope change.
2024-11-12 13:53:55 +01:00
fce8fd40cc
Bump xP dependencies
Alpine 3.20 Scripts failed
2024-11-12 12:59:33 +01:00
3597ab9420
Update README.adoc
2024-11-12 12:41:09 +01:00
1635a730e8
Add a Fyne frontend for xC
...
Alpine 3.20 Scripts failed
Arch Linux AUR Scripts failed
It is fairly mediocre all around, but also generally usable,
natively covering mobile platforms.
2024-11-12 12:02:10 +01:00
a64b1152a1
Bump liberty
2024-11-11 21:42:28 +01:00
a011b57ce2
Bump liberty
2024-11-07 11:07:36 +01:00
b1ee295345
xP: update variable name
2024-11-04 07:40:14 +01:00
872f2d7c59
Fix calloc argument order
2024-08-08 09:13:25 +02:00
f15d887dcd
Bump liberty
2024-08-08 09:02:25 +02:00
841bc00c51
xP: cleanup
...
I had forgotten about the auto-redraw system.
2024-07-28 13:42:28 +02:00
8afe4f8aad
Improve wording in the last NEWS entry
2024-07-28 13:26:24 +02:00
73cc8f448a
Bump version, update NEWS
2024-07-28 07:29:15 +02:00
4565afe294
xC: expand a comment
2024-07-28 07:15:41 +02:00
3ad8c79de8
xC: handle multiline server commands properly
...
Additional lines might have been passed to the server intact
as part of an argument, but we have /quote for that.
2024-07-28 04:10:30 +02:00
12fc3c228a
xP: reset highlight state once reaching buffer end
2024-07-28 03:44:37 +02:00
175533a5e9
xP: don't interrupt IME composition
...
On Vivaldi/macOS, pressing Enter would send the input and still keep
editing it as it was.
2024-07-04 20:06:59 +02:00
a9b46141a9
xS/xN: add test targets
2024-04-10 13:59:33 +02:00
c38cca3b92
Bump liberty
2024-04-09 17:08:40 +02:00
aee7540faa
Update README.adoc and xN usage output
2024-04-04 21:25:17 +02:00
53ba996ec9
Add a simple IRC notifier utility
2024-04-03 15:56:33 +02:00
d450c6cc5f
xP: do not send the Referrer header
2024-03-04 16:15:22 +01:00
f8ea1634c4
Bump liberty
2024-03-04 16:15:22 +01:00
ef257cd575
xP: avoid expensive updates/refreshes
2024-01-06 23:44:11 +01:00
69eccc7065
xP: don't let buffers grow indefinitely
...
Primarily for performance reasons.
2024-01-06 21:17:18 +01:00
13d2ff115b
xM: improve the bundle icon a bit
2023-09-04 07:06:03 +02:00
9e4692bb09
xM: generate and use a bundle icon
2023-09-03 02:13:14 +02:00
1c4343058d
Add a Cocoa frontend for xC
...
Some work remains to be done to get it to be even as good
as the Win32 frontend, but it's generally usable.
2023-09-01 01:12:51 +02:00
e5156cddbf
xW: render leaked lines a bit more accurately
...
There is no need to reset all text attributes, just the colour.
2023-08-25 22:48:31 +02:00
34521e61c1
xP/xW: fix buffer rename handling
...
Maintaining string pointers to the current/last buffer
means that renames invalidate them.
2023-08-25 22:48:31 +02:00
c22dd67fc1
xC: send missing relay events for newly added servers
2023-08-25 22:48:27 +02:00
274d5f03e7
xC: give the /away command a proper handler
...
Multiple words should be passed to the server as a single argument.
2023-08-25 22:46:43 +02:00
2f19e5a733
xW: improve command sending
2023-07-29 02:15:24 +02:00
b9cdabca5d
xC: fix relay handling of missing log files
...
Intermediate error messages would trash the prepared static buffer.
2023-07-28 04:30:45 +02:00
f60ca43156
xW: do not unnecessarily enter compatibility mode
2023-07-28 04:30:45 +02:00
afe4e61f08
xW: mark a footgun
...
These messages are used by IsDialogMessage(), and use the WM_USER range.
2023-07-27 23:08:16 +02:00
8d9d1c60ec
xW: make Up/Down go through input history
...
The input field isn't multiline, so this doesn't pose an issue.
Otherwise, we'd have to check if we're on the top line first.
2023-07-27 16:35:54 +02:00
8c1464822b
xW: don't delay sending out pongs
2023-07-27 16:19:32 +02:00
fcd1b8e011
xW: improve beeping
...
This adds yet another build dependency,
but it's better than the alternatives of handling it in code.
2023-07-27 16:06:41 +02:00
3d345987c3
xW: cleanup
2023-07-27 02:37:20 +02:00
3e37efd9cd
xW: show a connect dialog when run without args
2023-07-27 01:28:52 +02:00
efb25b8aae
xW: un-highlight the icon when activating buffers
2023-07-26 16:07:21 +02:00
e72793e315
xW: make newline before unread marker conditional
2023-07-26 16:07:20 +02:00
5a412ab6e2
xW: handle WM_SYSCOLORCHANGE
2023-07-26 16:07:20 +02:00
81bc578773
xW: add missing date change handling
2023-07-26 03:59:25 +02:00
100de5ac2d
xC: fix Readline 6.3 compatibility
2023-07-24 07:59:22 +02:00
c157d3369f
xP: make Page Up/Down in editor scroll the buffer
...
Just like in xW recently. It is unlikely that the user would want
to use these keys to move the cursor. Ctrl+Home/End still work,
as does holding Up/Down arrows.
Also stop using the deprecated and somewhat cryptic keyCode.
2023-07-23 00:20:32 +02:00
8b5ea67aff
xW: fix Clang build
2023-07-21 12:37:01 +02:00
6f02af814f
xW: store the largest program icon in PNG format
...
This shaves off about half a megabyte.
2023-07-16 08:35:39 +02:00
90859107c8
xW: set version information
2023-07-15 23:35:46 +02:00
0219dbd026
Add a Win32 frontend for xC
...
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+.
2023-07-15 17:00:21 +02:00
1da4699a7a
Cleanup
2023-07-09 09:35:16 +02:00
9e993c50e6
xC: don't crash with unknown terminals
...
It would be possible to avoid using cur_term fields in this case,
but the program would likely be of little use anyway.
2023-07-07 10:43:15 +02:00
b3e9218b23
Fix Cygwin build warnings
2023-07-07 09:53:20 +02:00
bc8867eb22
Fix the integration test
...
IRCv3 capabilities broke it a bit.
Also change it so that it doesn't destroy existing configuration.
2023-07-05 00:16:55 +02:00
ec33adba35
Update README.adoc
2023-07-04 23:50:01 +02:00
6f596f1dcb
Move project version to file, add xS manual page
...
So far Go applications remain independent to handle Nix's inability
to easily combine them with the CMake part.
There is also no "install" target, because any packagers will want to
adjust installation paths manually, and there is no configure step.
2023-07-04 23:26:05 +02:00
abcff46dc4
xC: fix an OpenBSD build warning
...
sys/cdefs.h makes _XOPEN_SOURCE cause _POSIX_C_SOURCE to be overriden.
2023-07-04 06:31:02 +02:00
8d9ce92758
README.adoc: update package information
2023-07-01 22:02:10 +02:00
4bb9449e47
Fix the static analysis test
...
Adjust its query so that it doesn't cause a particular false positive.
2023-06-16 19:45:12 +02:00
50f70f93bb
xC: fix a harmless copy-paste error
2023-06-13 09:02:20 +02:00
3f9a365d36
xC: improve the --format mode
...
Avoid having formatting spill over the rest of the line,
by placing the automatic formatting reset before newlines.
Also handle longer lines properly.
2023-05-22 04:44:01 +02:00
9932b35a10
xP: highlight hovered buffer list items
...
To make it apparent which one would be closed by a middle click.
2023-04-14 10:58:19 +02:00
af5f209c53
xP: make middle click close buffers
...
As if they were tabs, to save pointless typing.
2023-04-13 04:26:40 +02:00
6bfe577f1b
xP: make the buffer list selectable by Vimium
2023-04-05 23:10:41 +02:00
1079189381
xP: render date changes as they happen
2023-01-25 00:31:57 +01:00
c58b772905
xP: use the correct log function
2023-01-25 00:28:03 +01:00
26ed2dbc77
xC: fully synchronize input history with frontends
...
The missing parts were:
- frontends to client
- client to frontends after the initial sync
- frontend to other frontends
2022-10-05 00:55:59 +02:00
4b7258cba0
xP: fix ESC H detection on Macintosh systems
2022-10-04 20:17:31 +02:00
9dc3dd02f3
xP: disable WebSocket compression on Safari
...
Wildly known to be broken.
2022-10-04 01:17:35 +02:00
a7c3ed7cc1
xC: clean up
2022-09-30 18:30:03 +02:00
807a8c37d9
Bump liberty, improve fallback manual page output
2022-09-30 18:17:23 +02:00
c4707e2803
xC/xP: send buffer input history during sync
...
This transfer is currenly quite simplistic,
but it paves the way for further extensions.
2022-09-30 17:36:29 +02:00
46d68eacce
Move protocol code generators to liberty
...
This part of the project is now more or less stable.
2022-09-30 03:24:24 +02:00
86278c154c
Clean up protocol code generators
2022-09-30 03:24:13 +02:00
941ee2f10c
xP: fix automatic scrolling down
...
Showing channel logs cancelled the AbortController forever.
Thus store it within vnodes.
2022-09-28 21:29:08 +02:00
5b57e9b41b
xC/xP: fix unseen message counting
...
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.
2022-09-28 21:20:59 +02:00
4d99690b89
xS: parse project version from CMakeLists.txt
2022-09-27 23:48:12 +02:00
7c74e6615d
xD: use SHA-256 for certificate fingerprints
...
Just like xS. 2.0.0 is the ideal time for such a breaking change.
2022-09-26 13:58:08 +02:00
614fd98fc1
Update README
2022-09-26 13:42:45 +02:00
5863040f93
Update documentation, clean up
2022-09-26 13:24:24 +02:00
f891e5ca63
Merge hid IRCd from haven as xS
...
Given that this project already contains a Go binary,
it only makes sense to put the IRCds back together.
2022-09-26 12:41:47 +02:00
8344b09c4f
hid: rename to xS before merge into xK
2022-09-26 12:23:58 +02:00
4d50ed111a
Bump liberty, make use of its new asciiman.awk
2022-09-25 21:02:51 +02:00
e15c9cba43
xP: use a dotted border for button focus
...
It's visible enough.
2022-09-25 11:08:50 +02:00
66370387bc
Update documentation
2022-09-23 20:35:56 +02:00
2bc3ac7b0d
Update screenshots
...
It's been five years since the previous xC screenshot was made.
2022-09-23 19:00:31 +02:00
2c54f5a5dd
xP: make the overlay actually overlay
2022-09-23 19:00:31 +02:00
f2d8de3ab9
xP: support adding formatting from keyboard
...
Just like in xC, only with some indication.
2022-09-23 09:42:24 +02:00
67d52a2d89
xP: fix up link detection
...
Allow balanced parantheses at the end of a link.
2022-09-23 09:42:23 +02:00
ef3d1cc409
xP: add formatting buttons
...
And fix autoscroll autoenabler, as well as toolbar padding.
Only add the basic toggles, which should be well supported.
2022-09-23 09:41:29 +02:00
e6bf88673f
xP: produce a custom font for IRC formatting
...
Given that the generated file needs a manual adjustment,
its small size, and the dependencies involved,
it will be checked in to the repository.
2022-09-22 20:18:55 +02:00
4a2740313c
Give up on the X11 frontend for now
...
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.
2022-09-21 18:30:25 +02:00
d3628928b9
xC/xP: relay and render channel modes
2022-09-21 16:32:35 +02:00
1f0e0b1ce4
xP: only care about RPC results if requested
...
This prevents "No response" errors from firing for most commands.
2022-09-21 14:31:16 +02:00
919b12510b
xC/xP: relay and render channel topics
2022-09-21 12:15:27 +02:00
414859d309
xP: improve paging
2022-09-21 07:34:17 +02:00
5a7f2d16df
xP: clean up DOM attributes
2022-09-21 06:23:59 +02:00
b8061b665d
Silence spurious compiler warnings
2022-09-21 05:21:45 +02:00
807bdea2ea
Update README
2022-09-20 19:08:14 +02:00
8a689c98b4
xC: fix autocomplete in server buffers
2022-09-20 17:34:01 +02:00
9327333813
xC/xP: show own user's info in frontends
2022-09-20 17:24:30 +02:00
7806d4bd4e
xC/xP: improve rendering of highlighting actions
2022-09-20 15:30:07 +02:00
c0e1cd57b2
Make sure to always find installed plugins
2022-09-19 04:26:35 +02:00
00184811ea
xP: make the prompt look more xC-like
2022-09-19 03:18:31 +02:00
ec20fdef7b
xP: show all completion options
2022-09-18 05:54:23 +02:00
21e5d80ab1
xC: improve Readline completion
...
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.
2022-09-18 02:48:28 +02:00
ff243c1d11
xP: implement Readline's M-l, M-u, M-c
2022-09-18 01:59:11 +02:00
e2ef7d668c
xP: implement Readline's M-b and M-f
2022-09-18 01:10:03 +02:00
b979257c3a
xP: implement Readline's M-< and M->
2022-09-18 01:10:03 +02:00
840b646700
xC: reorganize relay code, improve logging
...
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.
2022-09-17 00:32:14 +02:00
126105fa4f
xC: don't abort on accept() failure
...
Just disable the relay.
2022-09-17 00:31:23 +02:00
e2f3fc2e79
xC: clean up
2022-09-17 00:31:23 +02:00
b55bae50df
Update some documentation
2022-09-16 03:52:49 +02:00
430968e5d5
xP: make non-connected states more apparent
2022-09-16 03:19:48 +02:00
d5153fe354
xC/xP: implement M-H in the web frontend
2022-09-16 02:52:16 +02:00
ee76186bef
xP: abandon the idea of a configuration file
2022-09-16 01:21:35 +02:00
6f39aa6615
xP: use the binary protocol for incoming events
...
And batch event messages together as much as possible.
JSON has proven itself to be really slow
(for example, encoding/json.Marshaler is a slow interface),
and browsers have significant overhead per WS message.
Commands are still sent as JSON, sending them in binary
would be a laborious rewrite without measurable merits.
The xP server now only prints debug output when requested,
because that was another source of major slowdowns.
2022-09-16 00:51:11 +02:00
e87cc90b5e
xP: improve comments in protocol code generator
2022-09-15 05:12:07 +02:00
98b0a4ef3d
xP: further optimize JSON marshalling
2022-09-15 03:16:16 +02:00
9cf44aa4dd
xP: speed up log decoding
2022-09-15 02:32:58 +02:00
b53fc1918f
xP: fix log JSON serialization
2022-09-15 01:51:40 +02:00
92f2f6895b
xP: use buffered reads
2022-09-14 07:11:05 +02:00
c1d2e38840
xP: generate our own JSON marshallers
...
For non-trivial types, which are expensive to serialize
with encoding/json's struct reflection.
2022-09-14 06:56:36 +02:00
f89f21a47f
xP: pass all events through one handler
...
This is a mild clean up.
2022-09-14 06:56:36 +02:00
fa85ea8208
xP: parallelize event reception and sending
...
Still trying to make the frontend load tolerably fast,
still unsuccessfully.
2022-09-14 06:56:36 +02:00
b728235b6c
xP: move to a WebSocket package with compression
...
Compression happens to be broken in Safari,
though luckily there are friendlier browsers one can use.
2022-09-14 06:56:35 +02:00
d31ab67268
xC: mildly optimize relay traffic
2022-09-14 01:01:19 +02:00
b2b3093e0e
xP: remove debugging protocol logs from JS
2022-09-14 01:01:10 +02:00
a551e911ab
xP: adjust buffer list iteration and styling
...
M-a and M-! should iterate, rather than keep jumping back
to the same buffers.
The current item wasn't visible enough,
and it jumped around in my 1.5-scale Firefox.
2022-09-13 03:21:41 +02:00
a61789637a
xP: deal with macOS/Blink for good
2022-09-12 16:45:29 +02:00
8968100a28
xP: improve favicon behaviour
...
Make it black when disconnected, and orange when the document
is hidden but the current tab is highlighted.
2022-09-12 03:49:29 +02:00
3b6c29d676
xC: silence some compiler warnings
2022-09-11 22:16:35 +02:00
b4ee523628
xP: bind buffer iteration to M-PageUp/PageDown
2022-09-11 21:50:09 +02:00
c3a52b9e4c
xP: indicate hidden buffer lines
2022-09-11 21:50:09 +02:00
96fc12bc4c
xC/xP: send buffer type and server state
...
Also make PM highlighting behaviour consistent.
2022-09-11 21:50:08 +02:00
1493d9998b
xC: clean up
2022-09-11 19:11:47 +02:00
36f77e74fb
xP: change the favicon when highlighted
2022-09-11 19:10:41 +02:00
23deca45c9
xP: fix non-ASCII text completion
2022-09-11 19:10:40 +02:00
62773acaa0
xP: beep on highlight
...
800 Hz seems like it could match a POST beep.
2022-09-11 03:42:08 +02:00
7e3919e25d
xP: add basic buffer input history
...
Bind M-p and M-n as in xC.
Also make all our bindings reachable on macOS.
2022-09-11 03:10:23 +02:00
4bc2f736f2
xC: make terminal attributes abstract
...
And translate them for frontends.
This is very long overdue, and a rather significant cleanup.
Bump liberty.
2022-09-11 01:20:18 +02:00
add670212f
xP: remember buffer input selections
2022-09-11 01:01:53 +02:00
95aa89ee97
xP: bind M-h to toggle history, and adjust focus
2022-09-10 20:39:03 +02:00
0bc2c12eec
xP: handle the M-Tab binding from xC
2022-09-10 19:36:49 +02:00
3330683ad6
xP: handle M-a and M-! bindings from xC
2022-09-10 19:34:01 +02:00
0015d26dc8
xC/xP: support hiding unimportant messages at all
2022-09-10 19:01:42 +02:00
7d5e63be1f
xC: deal with so far unexpected multiline messages
...
And get rid of an outdated unmarked TODO comment.
2022-09-10 18:51:27 +02:00
e7d0f2380e
xC: split Command.BUFFER_INPUT on newlines
2022-09-10 18:51:27 +02:00
36529a46fd
xP: also scroll to bottom on window resize
2022-09-10 18:10:08 +02:00
632ac992ab
xC/xP: only send buffer stats in the initial sync
...
The client and frontends track these separately,
there is no need for hard synchronization.
2022-09-10 17:38:33 +02:00
d29e2cbfe8
xP: detect links in the log
2022-09-10 17:18:22 +02:00
240fac4d90
xP: only allow vertical textarea resizing
2022-09-10 17:08:14 +02:00
c06894b291
xP: fix command sequence number generation
2022-09-10 17:05:39 +02:00
9eaf78f823
xP: open links in a new tab/window
2022-09-10 17:05:39 +02:00
5f02dddd11
xP: advance unread marker when the log is visible
2022-09-10 17:05:39 +02:00
6f4a3f4657
xP: advance unread marker in an inactive tab
2022-09-10 17:05:39 +02:00
6387145adc
xP: improve line wrapping
2022-09-10 17:05:38 +02:00
f3cc137342
xC-gen-proto: reduce enums to single bytes
...
That's already way more than we can possibly use.
2022-09-10 16:06:35 +02:00
8c8e06b015
xP: enhance mobile experience
...
The left column used to jump around, and phones were near-unusable.
2022-09-08 17:11:10 +02:00
d7b6967b6f
xP: allow setting a fixed WS URI
...
For reverse proxies.
2022-09-08 17:11:01 +02:00
8c3ee80b21
xC/xP: finalize and implement Event.PING
2022-09-08 02:45:37 +02:00
3a165a595b
xC: use the relay protocol's RPC for pings
2022-09-08 01:48:46 +02:00
4ba28c6ed3
xC/xP: mark highlights and buffer activity
...
And more or less finalize out the protocol for this use case.
2022-09-08 01:28:51 +02:00
45aa0e8dfb
xP: remember to differentiate today
2022-09-07 19:23:47 +02:00
a2d5995cf5
xC: don't autoactivate buffers on forced JOINs
2022-09-07 19:10:49 +02:00
2075c38fd1
xP: use an industry-standard name for a button
2022-09-07 17:33:38 +02:00
88a7b1a2d9
xP: resolve various issues, mostly in styling
2022-09-07 17:26:43 +02:00
2341228efd
xP: implement buffer line leakage
...
Rather than on redisplay, these get cleared on reconnect.
2022-09-07 15:34:52 +02:00
2e3005d88b
xP: abort autocomplete when no longer applicable
2022-09-07 15:10:17 +02:00
2b13f891c9
xP: clean up
2022-09-07 14:45:44 +02:00
d55402234c
xP: add a temporary lock for autoscroll
2022-09-07 13:53:28 +02:00
e3149b9abf
xP: support showing buffer logs
2022-09-07 13:53:28 +02:00
976e7bfbb4
xP: separate input buffers
2022-09-07 13:04:30 +02:00
5fd76ba6f9
xC: add a trivial /relay command
...
For there is otherwise no way of getting that information.
2022-09-07 13:01:34 +02:00
41878a587f
xC: use liberty logging less
...
These messages cannot be relayed to frontends (they could be,
but it's useful to keep them distinct rather than redirected).
2022-09-07 13:01:30 +02:00
80089a4d65
xC: describe general.editor parse errors
2022-09-07 13:01:29 +02:00
93b66b6a26
xP: scroll to bottom and focus the input on switch
2022-09-06 22:33:00 +02:00
ee1750c23c
xP: clean up
2022-09-06 22:33:00 +02:00
f5104c807d
xP: indicate connection state
2022-09-06 20:17:40 +02:00
2c49a72d94
Update README
2022-09-06 19:59:22 +02:00
8cd94b30f6
xP: implement tab completion
...
Currently it only goes for the longest common prefix.
Refactor WebSocket handling into an abstraction for our protocol.
The Go code generater finally needed fixing.
2022-09-06 19:41:05 +02:00
2d30b6d115
xC: define critical bindings after el_source()
...
And use ^C rather than ^G.
2022-09-06 17:02:36 +02:00
cf14cb8122
xC: implement buffer completion in the relay
...
And actually support completion with non-UTF-8 locales.
We used to ignore the encoding conversion result.
2022-09-06 17:02:02 +02:00
31e9c6d2d5
xC/xP: pass timestamps with millisecond precision
...
Future-proofing the protocol.
2022-09-06 14:39:01 +02:00
d2af6cf64c
xP: convert links to link elements
2022-09-06 14:36:30 +02:00
d7b0b447b7
xC/xP: turn the action asterisk into a rendition
2022-09-05 23:22:09 +02:00
25ad5ae0ec
xC/xP: fix colour values, and render them with CSS
2022-09-05 23:22:09 +02:00
10f6072da9
xC: also force monospace for RPL_MOTDSTART
...
It tends to looks inconsistent without.
2022-09-05 23:07:20 +02:00
aceac26cbb
Fix up xP's module path, mention the licence
2022-09-05 23:07:20 +02:00
e250ae8255
Fix up README
2022-09-05 23:07:19 +02:00
1639235a48
Start X11 and web frontends for xC
...
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.
2022-09-05 14:26:00 +02:00
2160d03794
xC: slightly clean up character encodings
2022-09-02 14:05:03 +02:00
36f8c7639f
xC: clean up logging
...
Don't treat rendition as flags, separate the two.
Also treat join and part arrows as rendition.
2022-09-02 12:31:42 +02:00
74470f1aa4
CMakeLists.txt: improve dependencies of xD-replies
2022-09-02 12:25:37 +02:00
3af1765261
xC: make alias creation tolerant to prefixed names
...
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.
2022-08-29 15:22:11 +02:00
b454920c81
xC: deal with conflicts when renaming buffers
2022-08-29 15:05:02 +02:00
ef8f25d1dd
xC: deal with any identifier conflicts
...
Invalid UTF-8 converted to UTF-8 may conflict with that
which was valid UTF-8 in the first place.
2022-08-29 14:41:23 +02:00
313a65180e
xC: fix some corner cases around terminal handling
2022-08-29 14:05:33 +02:00
91db8e6e54
xC: use the correct way of resetting libedit
...
The only remaining major annoyance is incremental search
seemingly not giving back control.
2022-08-29 10:30:45 +02:00
dbe95fa298
xC: make libedit history switching more reliable
2022-08-29 09:20:56 +02:00
9d5e57a501
xC: improve libedit multiline input handling
2022-08-29 08:31:44 +02:00
4ed6693f57
xC: erase remaining mentions of a "backlog helper"
2022-08-29 08:22:09 +02:00
bea8d13227
xC: don't autosave when nothing changed
2022-08-29 08:22:09 +02:00
ecebeace0e
Don't wrap xD-gen-replies in a shell script
...
AWK doesn't seem to be that friendly to shebangs, so let env,
also required for changing LC_ALL, locate it in PATH.
2022-08-29 06:07:49 +02:00
ca33adeeee
Update README
...
Stop pretending that xD has a future.
2022-08-27 16:53:56 +02:00
b31e079256
Update README
2022-08-27 16:18:14 +02:00
57597bf8a2
xC: move TEXT_* constants where they belong
2022-08-27 15:06:28 +02:00
c0996fcbe7
xC: normalize BSD Editline's history behaviour
...
Now it's a realistically useful frontend.
2022-08-27 15:06:27 +02:00
03d8ea4c5a
xC: general.save_on_quit -> general.autosave
...
Power outages and similar situations make the former unreliable,
so get rid of any false promise it might seem to give.
2022-08-27 09:15:38 +02:00
dc002a2db4
xC: revise configuration options
...
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
2022-08-27 09:15:37 +02:00
a32916ffcf
xC: label code sections better
...
Introduce tildes as a new sublevel of markers.
2022-08-27 09:15:37 +02:00
f7be510d26
xC: make fancy-prompt.lua alignment more reliable
...
And generally clean up that script.
2022-08-27 09:15:37 +02:00
83764d1e1b
Fix xB.adoc parsing with current libasciidoc
2022-08-24 03:17:05 +02:00
a717782480
Build with AsciiDoc as well as Asciidoctor
2022-08-24 00:13:51 +02:00
c50c959f4d
Bump copyright years
2022-08-17 18:27:52 +02:00
0dd7536b5a
Update README
2022-08-15 15:49:59 +02:00
0750096827
xC: expand behaviour.editor_command examples
2022-08-14 20:27:30 +02:00
49d9980662
xC: improve backlog helper capabilities
...
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.
2022-08-14 18:52:26 +02:00
2f7fbcdc5d
CMakeLists.txt: fix a typo
2022-08-12 13:21:46 +02:00
ef0cbe9a59
Rename the project
...
It is about to see some extensions, obsoleting the number three.
2022-08-07 10:40:42 +02:00
1238233556
hid: bump the FD limit
2022-08-02 22:10:31 +02:00
2d8808d795
utm-filter.lua: mention the passing of fbclid
2022-07-18 17:59:28 +02:00
9c31fb69df
hid: make note of a deprecation
2022-03-16 12:57:00 +01:00
a51c247d69
hid: add WebIRC support
...
Such clients can only be identified through STATS L.
It's a bit weird to abuse the "port" field this way,
but right now, it serves its purpose.
2022-03-15 19:57:31 +01:00
f26e6361f3
hid: implement WALLOPS
2022-02-05 00:31:34 +01:00
60d52ad479
xC, xD: add basic WALLOPS support
2022-02-04 22:48:54 +01:00
b358f53ec3
Bump version, update NEWS
2021-12-21 05:58:34 +01:00
2eb315f5c4
utm-filter.lua: add Facebook to the filter
2021-12-20 14:36:41 +01:00
851c2ee548
CMakeLists.txt: fix macOS build
2021-11-02 15:34:51 +01:00
f9848ed627
Update README
2021-10-31 05:16:57 +01:00
686a39df38
CMakeLists.txt: slightly modernize
2021-10-31 04:30:04 +01:00
9cea3fca91
Update NEWS
2021-10-30 14:25:13 +02:00
5165f76b7c
xC: quote text coming from a bracketed paste
...
Not having this has caused me much annoyance over the years.
2021-10-30 09:27:32 +02:00
92ac13f3c6
xC: allow passing the cursor position to editors
...
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.
2021-10-30 09:02:35 +02:00
df4ca74580
xC: make libedit autocomplete less miserable
...
Omitting even this hack was a huge hit to overall usability.
2021-10-30 08:29:16 +02:00
9e297244a4
Update .gitignore
2021-10-30 03:37:22 +02:00
d32ba133c0
Add clang-format configuration, clean up
2021-10-30 02:55:19 +02:00
ce3976e1ec
xC: normalize ^J behaviour to follow Readline
...
For some reason Editline inserts it verbatim,
but in a more broken manner than it has with ^V^J.
2021-10-28 08:49:01 +02:00
e5ed89646b
xC: fix newer libedit (2021-08-29)
2021-10-28 08:23:52 +02:00
5e728f6d31
Bump version, update NEWS
2021-10-06 14:05:23 +02:00
766f68e070
Bump liberty
2021-10-06 13:52:59 +02:00
3dc5242d43
Bump liberty
...
Importing some minor unimportant fixes.
2021-09-26 08:55:46 +02:00
fd9d5db1d2
xD: bump the soft file descriptor limit
...
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.
2021-09-23 20:32:00 +02:00
cb480b4c71
xC: show orphan outcoming actions differently
...
It's hard to think of anything actually good here.
This would be an exceptionally rare thing to do, anyway.
2021-09-05 02:51:05 +02:00
59cc423694
xC: abandon Freenode, embrace IRCnet
...
You're not fucking supposed to require a fucking registration
on fucking IRC networks.
2021-08-29 15:18:20 +02:00
9323089d66
xC: mIRC didn't invent all IRC formatting
...
So let's not confuse ourselves.
2021-08-29 12:12:52 +02:00
de7df1f60d
xC: refactor parsing of IRC formatting
2021-08-29 12:06:53 +02:00
b082e82b62
xC: fix displaying IRC colours above 16
...
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.
2021-08-28 18:25:03 +02:00
b8dbc70a9c
xC: respect text formatting when autosplitting
2021-08-28 18:24:20 +02:00
4073b7329f
hid: reflect the original project's new name
...
Better keep all schizophreny in my own head, rather than all projects.
2021-08-06 17:31:32 +02:00
6421892ef3
Name change
2020-08-01 14:01:58 +02:00