| Commit message (Collapse) | Author |
|
|
|
With the early return, mainUpdate doesn't get called in cases where
other functions expect windowShow to call it, such as when closing
or moving windows.
|
|
LibreTLS in particular is gaining traction in packaging, so point
to Repology pages to make users' lives easier.
|
|
|
|
This is used by InspIRCd to indicate if a user is a bot (if it set
user mode +B).
|
|
I don't know why I ruled this out originally, it's more visually
pleasing to me now especially that threshold is likely to remain
set at "+" for a long time.
|
|
|
|
This allows for non-ASCII characters in timestamps, and simplifies
things by including the trailing space in the width.
|
|
This respects the user's locale settings.
|
|
|
|
|
|
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.
|