| Commit message (Collapse) | Author | Age |
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Finally! Changing the message visibility threshold doesn't totally
screw up scroll position. Neither do horizontal resizes, but vertical
resizes drift because the value of windowTop() changes before and
after...
The scroll position is anchored to the top of the window. It's
arbitrary whether to anchor the top or the bottom, but other scrolling
commands like M-p and C-r are anchored to the top, so this is
consistent.
|
|
|
|
|
|
|
|
|
| |
This directly correlates hard-wrapped lines with the soft lines
they were wrapped from.
Choosing uint here because it doesn't change the size of struct
Line. It doesn't at all matter since buffers only hold 1024 lines
at a time anyway.
|
| |
|
| |
|
|
|
|
|
| |
Otherwise they are invisible with M-+ and commands having no output
is confusing.
|
| |
|
|
|
|
|
|
|
| |
Don't search base directories if path starts with "/", "./" or
"../", but still do if the path simply starts with ".". Bail early
if HOME is needed but unset. Don't attempt to open the original
path in configOpen and dataOpen.
|
| |
|
|
|
|
|
| |
catgirl shouldn't try to execute a command if it is misconfigured
with both restrict and notify.
|
| |
|
| |
|
|
|
|
|
| |
I don't feel that 100% protocol extension support should at all be
a goal.
|
|
|
|
| |
The manual is the wrong place to document platform support.
|
|
|
|
|
|
| |
Filters should be kept in order since the first one that matches,
wins. This lets highlights or ignores take priority over each other,
if desired.
|
|
|
|
| |
Yikes, copy-paste fail.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Sure, it was completely unnecessary, but I resent being told how
to use snprintf.
https://cvsweb.openbsd.org/src/lib/libc/stdio/vfprintf.c?rev=1.79&content-type=text/x-cvsweb-markup
Notes:
My problem here is with yelling about a standard C feature that has
legitimate uses, simply because it *could* be used in a way that
might cause security issues. If you're going to do that, you may
as well syslog(3) whenever someone runs any C code at all.
|
|
|
|
|
|
|
| |
Log files and state save/restore both require read/write access to
the filesystem, both during start and exit.
If neither features are used, catgirl may run with "stdio tty".
|
|
|
|
| |
Nothing must be executed when running /copy, et al.
|
|
|
|
|
|
| |
catgirl has no reconnect feature and generally must not do
anything but read/write from/to the connected socket which
does not require "inet" or "dns" promises.
|
|
|
|
|
|
| |
Simplify logic, be more idiomatic and finalize by pledging after
all unveiling is done by omitting the "unveil" promise and thereby
not allowing further calls to it.
|
|
|
|
|
|
|
|
|
|
|
| |
Restrict mode will focus on sandboxing, while kiosk will continue
to restrict IRC access through a public kiosk. Kiosk mode without
restrict mode allows execution of man 1 catgirl with /help, assuming
external sandboxing.
The /list and /part commands are also added to the list of disabled
commands in kiosk mode, since they are pointless without access to
/join.
|
|
|
|
|
| |
No idea why I made that more complicated than it had to be looping
backwards.
|
| |
|
| |
|
|
|
|
| |
Oops, forgot about these.
|
|
|
|
|
| |
Spawn one catgirl per network and handle reconnects through tmux,
no extra tool required.
|
|
|
|
| |
So they're not hidden by M-+.
|
| |
|
| |
|
|
|
|
| |
These can now be hidden with M-+.
|
| |
|
|
|
|
| |
So that pressing M-- repeatedly maintains the previous behavior.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
I wrote all this in vi and it was nice.
|
| |
|
|
|
|
|
|
| |
Don't wait for getopt_long to move all the arguments to the end. This
allows overriding options set by config files by placing flags after
them on the command line.
|
| |
|
| |
|
|
|
|
| |
Can't keep the 4-letter pattern forever :(
|
| |
|
|
|
|
|
|
|
| |
This allows limiting the nick colors used to the 16-color terminal set
without modifying the TERM environment variable. Produces different
results from just using the default configuration in a 16-color
terminal, but what can you do?
|
| |
|
|
|
|
| |
SHELL is an absolute path.
|
| |
|
|
|
|
|
| |
The latter avoids an extra blank line when a message ends with
whitespace that hits the edge of the window.
|