Commit Graph

77 Commits

Author SHA1 Message Date
Přemysl Eric Janouch 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
Přemysl Eric Janouch 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
Přemysl Eric Janouch af5f209c53
xP: make middle click close buffers
As if they were tabs, to save pointless typing.
2023-04-13 04:26:40 +02:00
Přemysl Eric Janouch 6bfe577f1b
xP: make the buffer list selectable by Vimium 2023-04-05 23:10:41 +02:00
Přemysl Eric Janouch 1079189381
xP: render date changes as they happen 2023-01-25 00:31:57 +01:00
Přemysl Eric Janouch 4b7258cba0
xP: fix ESC H detection on Macintosh systems 2022-10-04 20:17:31 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 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
Přemysl Eric Janouch 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
Přemysl Eric Janouch e15c9cba43
xP: use a dotted border for button focus
It's visible enough.
2022-09-25 11:08:50 +02:00
Přemysl Eric Janouch 2c54f5a5dd
xP: make the overlay actually overlay 2022-09-23 19:00:31 +02:00
Přemysl Eric Janouch f2d8de3ab9
xP: support adding formatting from keyboard
Just like in xC, only with some indication.
2022-09-23 09:42:24 +02:00
Přemysl Eric Janouch 67d52a2d89
xP: fix up link detection
Allow balanced parantheses at the end of a link.
2022-09-23 09:42:23 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 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
Přemysl Eric Janouch d3628928b9
xC/xP: relay and render channel modes 2022-09-21 16:32:35 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 919b12510b
xC/xP: relay and render channel topics 2022-09-21 12:15:27 +02:00
Přemysl Eric Janouch 414859d309
xP: improve paging 2022-09-21 07:34:17 +02:00
Přemysl Eric Janouch 5a7f2d16df
xP: clean up DOM attributes 2022-09-21 06:23:59 +02:00
Přemysl Eric Janouch 9327333813
xC/xP: show own user's info in frontends 2022-09-20 17:24:30 +02:00
Přemysl Eric Janouch 00184811ea
xP: make the prompt look more xC-like 2022-09-19 03:18:31 +02:00
Přemysl Eric Janouch ec20fdef7b
xP: show all completion options 2022-09-18 05:54:23 +02:00
Přemysl Eric Janouch ff243c1d11
xP: implement Readline's M-l, M-u, M-c 2022-09-18 01:59:11 +02:00
Přemysl Eric Janouch e2ef7d668c
xP: implement Readline's M-b and M-f 2022-09-18 01:10:03 +02:00
Přemysl Eric Janouch b979257c3a
xP: implement Readline's M-< and M-> 2022-09-18 01:10:03 +02:00
Přemysl Eric Janouch 430968e5d5
xP: make non-connected states more apparent 2022-09-16 03:19:48 +02:00
Přemysl Eric Janouch d5153fe354
xC/xP: implement M-H in the web frontend 2022-09-16 02:52:16 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch 9cf44aa4dd
xP: speed up log decoding 2022-09-15 02:32:58 +02:00
Přemysl Eric Janouch f89f21a47f
xP: pass all events through one handler
This is a mild clean up.
2022-09-14 06:56:36 +02:00
Přemysl Eric Janouch b2b3093e0e
xP: remove debugging protocol logs from JS 2022-09-14 01:01:10 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch a61789637a
xP: deal with macOS/Blink for good 2022-09-12 16:45:29 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch b4ee523628
xP: bind buffer iteration to M-PageUp/PageDown 2022-09-11 21:50:09 +02:00
Přemysl Eric Janouch c3a52b9e4c
xP: indicate hidden buffer lines 2022-09-11 21:50:09 +02:00
Přemysl Eric Janouch 96fc12bc4c
xC/xP: send buffer type and server state
Also make PM highlighting behaviour consistent.
2022-09-11 21:50:08 +02:00
Přemysl Eric Janouch 36f77e74fb
xP: change the favicon when highlighted 2022-09-11 19:10:41 +02:00
Přemysl Eric Janouch 23deca45c9
xP: fix non-ASCII text completion 2022-09-11 19:10:40 +02:00
Přemysl Eric Janouch 62773acaa0
xP: beep on highlight
800 Hz seems like it could match a POST beep.
2022-09-11 03:42:08 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch add670212f
xP: remember buffer input selections 2022-09-11 01:01:53 +02:00
Přemysl Eric Janouch 95aa89ee97
xP: bind M-h to toggle history, and adjust focus 2022-09-10 20:39:03 +02:00
Přemysl Eric Janouch 0bc2c12eec
xP: handle the M-Tab binding from xC 2022-09-10 19:36:49 +02:00
Přemysl Eric Janouch 3330683ad6
xP: handle M-a and M-! bindings from xC 2022-09-10 19:34:01 +02:00
Přemysl Eric Janouch 0015d26dc8
xC/xP: support hiding unimportant messages at all 2022-09-10 19:01:42 +02:00
Přemysl Eric Janouch 36529a46fd
xP: also scroll to bottom on window resize 2022-09-10 18:10:08 +02:00
Přemysl Eric Janouch 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
Přemysl Eric Janouch d29e2cbfe8
xP: detect links in the log 2022-09-10 17:18:22 +02:00