June McEnroe
9a415245a1
Remove EditMode
...
Pretty sure this isn't going to be how vi mode works if I ever
manage to implement it anyway.
2022-07-30 14:15:57 -04:00
June McEnroe
563ac9e3bf
Use tiparm on to_status_line
...
According to terminfo(5), tsl takes a single parameter! Never seen
it happen, but this is technically more correct, I guess.
2022-07-28 13:46:44 -04:00
June McEnroe
4aaa2050e2
Only show old topic if something was removed
2022-06-26 16:38:19 -04:00
June McEnroe
b744089d6a
Use two lines to show topic diffs
2022-06-24 14:29:44 -04:00
June McEnroe
3475f03ec8
Allow setting fallback nicks and highlight on any
...
As a side-effect, even with only one nick set you'll still be
highlighted by it even if your current nick is different.
2022-05-29 18:09:52 -04:00
June McEnroe
a5162d83bd
Document visibility of unknown replies
2022-05-29 15:33:28 -04:00
June McEnroe
f7b3c2f8ca
Put unknown numerics in parentheses
...
For some reason this makes it look so much better to me.
2022-05-29 15:24:06 -04:00
June McEnroe
fc518e301f
Route unknown channel replies to channels
...
Also prefix with the numeric. I don't really want to show numerics
to the user, but I'm not sure these really make sense without.
2022-05-08 17:49:20 -04:00
June McEnroe
7ee327ccb6
Show "You arrive" message only once
2022-05-08 16:39:31 -04:00
June McEnroe
6cfb1ad301
Write unknown replies to Network with Ice heat
2022-05-08 16:38:00 -04:00
June McEnroe
1b8be724bc
Sanitize leading dots from log path components
...
Prevent directory traversal by sanitizing leading dots as well as
slashes from log path components, which can be controlled by the
server. Side effect of preventing hidden dotfiles is a bonus, I
think.
Also check that the full path actually fits in the buffer.
Reported-by: Samanta Navarro <ferivoz@riseup.net>
2022-04-20 18:29:28 -04:00
June McEnroe
70268b4cd3
Add screenshot to README
2022-03-31 13:21:33 -04:00
June McEnroe
714b4bc76a
Skip non-spacing when moving and deleting by "character"
...
I uh... don't think I can write tests for this, since macOS's wcwidth
is notoriously useless.
2022-03-16 20:21:00 -04:00
June McEnroe
1f9e3463c3
Document using -S to connect over IPv4 or IPv6
2022-03-13 17:33:16 -04:00
Christian Kellermann
ee82e5d376
Always refresh the screen with ^L
...
This patch adds an explicit wrefresh call. Under some conditions
just flagging the window for redraw does not trigger a redraw and
the user has no other means to force redrawing of a window.
Without this patch resizing the window would sometimes result in
an empty chat window with no way to redraw it.
Tested under uxterm and st on OpenBSD.
2022-03-09 21:18:05 -05:00
June McEnroe
c78b511dfb
Update STANDARDS section authors, titles and URLs
2022-03-05 16:09:51 -05:00
June McEnroe
120349ccc2
Show own nick on /nick without params
2022-03-02 23:06:06 -05:00
June McEnroe
b6c7280649
Specify commands which depend on caps
...
Currently only /setname.
2022-02-26 15:51:42 -05:00
June McEnroe
b7fe705c91
Only add available commands to complete
2022-02-26 15:41:50 -05:00
June McEnroe
628e064056
Factor out commandAvailable
2022-02-26 15:40:11 -05:00
June McEnroe
f51e7b4d2c
Give examples of "general events"
2022-02-23 18:05:10 -05:00
June McEnroe
4e8ba236b6
Add missing unistd.h include in input.c
2022-02-23 12:50:31 -05:00
June McEnroe
5b3b798c49
Document the interface
2022-02-22 20:04:42 -05:00
June McEnroe
c929a696eb
Clean up unimplemented editing mode stuff
2022-02-20 17:16:21 -05:00
June McEnroe
78ff548b93
Save input buffer contents
2022-02-20 16:57:11 -05:00
June McEnroe
da1b943fcc
Share a cut buffer between all edit buffers
2022-02-20 16:20:33 -05:00
June McEnroe
c8b6e331de
Assert return values in edit tests
2022-02-20 16:05:24 -05:00
June McEnroe
e39bba1a8a
Move mbs out of struct Edit, use a global buffer
...
This saves 4K in the edit buffers, not to mention all the heap
allocations for the separate mbs buffers!
There might be a way to be more clever about capacities, but I don't
think it's worth it.
2022-02-20 15:42:24 -05:00
June McEnroe
cca9688cca
Clear edit buffer before running command
...
Otherwise a command that switches windows will update the status
line while the edit buffer still has input "pending", showing an
indicator.
2022-02-20 14:58:33 -05:00
June McEnroe
a281bdc5e1
Show indicator in status when window has pending input
2022-02-20 14:49:17 -05:00
June McEnroe
012fd67539
Use separate edit buffers for each ID
2022-02-20 14:37:51 -05:00
June McEnroe
8065fcabc3
Make sure new cap is actually larger than new length
2022-02-20 12:24:54 -05:00
June McEnroe
157be8a8d7
Remove unused mbs.len field from struct Edit
2022-02-20 11:54:06 -05:00
June McEnroe
3b4ad30d97
Remove unneeded includes in ui.c
2022-02-19 23:25:36 -05:00
June McEnroe
5c4ecb5a0f
Reimplement tab complete
2022-02-19 22:02:49 -05:00
June McEnroe
da8deff767
Handle errors from editFn, etc.
2022-02-19 20:44:36 -05:00
June McEnroe
143fa1b509
Reimplement text macros
2022-02-19 20:38:12 -05:00
June McEnroe
073cebec7a
Factor out input handling to input.c
2022-02-19 20:20:19 -05:00
June McEnroe
3359a5d69b
Factor out window management to window.c
2022-02-19 18:28:45 -05:00
June McEnroe
70f627bc47
Enable -Wmissing-prototypes
...
In other words, warn when a function is missing static. I don't see
why this isn't in -Wextra.
2022-02-19 17:46:07 -05:00
June McEnroe
a2a118c857
Fix edit.[ch] license notice additional permissions
2022-02-19 14:51:26 -05:00
June McEnroe
06d17aa8f1
Run line editing tests
...
I know, it feels wrong.
2022-02-19 00:01:34 -05:00
June McEnroe
1a2477ef7a
Implement new line editing "library"
...
Losing tab complete and text macros, for now.
This new implementation works on an instance of a struct and does
not interact with the rest of catgirl, making it possible to copy
into another project. Unlike existing line editing libraries, this
one is entirely abstract and can be rendered externally.
My goal with this library is to be able to implement vi mode. Since
it operates on struct instances rather than globals, it might also
be possible to give catgirl separate line editing buffers for each
window, which would be a nice UX improvement.
2022-02-18 23:47:11 -05:00
June McEnroe
573bc855a6
Simplify cursor positioning in input
...
Do some extra work by adding the portion before the cursor to the
input window twice, but simplify the interaction with the split
point. This fixes the awkward behaviour when moving the cursor
across colour codes where the code would be partially interpreted
up to the cursor.
2022-02-18 23:39:46 -05:00
June McEnroe
0036e6e9f0
Fix M-f ordering
2022-02-18 22:40:16 -05:00
June McEnroe
28a27a2c0f
Move sandman build to scripts/Makefile
2022-02-12 20:19:18 -05:00
June McEnroe
c95c8cd1b4
Use compat_readpassphrase.c on Linux
2022-02-12 13:36:24 -05:00
June McEnroe
edad0218c1
Copy RPP defines from oconfigure
...
We don't use any flags, so just define them in the compat source
file.
2022-02-12 13:36:24 -05:00
June McEnroe
6013ae1513
Import compat_readpassphrase.c from oconfigure
...
At 5d08070de6aadd979e3752263d2ec1e709bf037e.
2022-02-12 13:28:26 -05:00
June McEnroe
397b4ce6bd
Prompt for empty server or SASL passwords
2022-02-12 13:26:38 -05:00