Klemens Nanni
0c5730708f
chat.tmux.conf: Improve respawn, fix comment
...
Only respawn the pane not the entire window to avoid killing other
possibly existing panes in the same window.
2021-02-03 14:31:44 -05:00
C. McEnroe
32bf43660f
Also skip marking swap window
...
Third time's the charm?
2021-01-31 15:33:41 -05:00
C. McEnroe
beeddcb11f
Actually scroll to first line for "scroll to top"
2021-01-29 23:32:47 -05:00
C. McEnroe
89a2fac05a
Only skip setting swap in windowShow
...
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.
2021-01-29 23:24:58 -05:00
C. McEnroe
d16ee121e5
Add Repology links to README
...
LibreTLS in particular is gaining traction in packaging, so point
to Repology pages to make users' lives easier.
2021-01-28 16:13:52 -05:00
Klemens Nanni
e1da93b0aa
Add key bindings to chat.tmux.conf, nits
2021-01-28 16:00:04 -05:00
C. McEnroe
75b0c02227
Add 335 to WHOIS responses
...
This is used by InspIRCd to indicate if a user is a bot (if it set
user mode +B).
2021-01-28 15:31:00 -05:00
C. McEnroe
422fe6cd29
Move threshold and mute indicators directly after number
...
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.
2021-01-28 01:49:41 -05:00
C. McEnroe
5dde56d692
Save window time display toggle
2021-01-27 15:35:26 -05:00
C. McEnroe
b4c26a2cab
Measure timestamp width using ncurses
...
This allows for non-ASCII characters in timestamps, and simplifies
things by including the trailing space in the width.
2021-01-27 14:55:31 -05:00
C. McEnroe
d6ff9e53cf
Change default timestamp format to %X
...
This respects the user's locale settings.
2021-01-27 14:18:20 -05:00
C. McEnroe
c118c594e3
Add toggleable display of timestamps
2021-01-27 00:15:46 -05:00
C. McEnroe
604de4ff5a
Only list up until scroll position with M-l
2021-01-26 23:08:58 -05:00
C. McEnroe
d7d4572220
Preserve scroll position across reflows
...
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.
2021-01-26 22:33:16 -05:00
C. McEnroe
52c58128c8
Add numbers to buffer lines
...
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.
2021-01-26 22:14:12 -05:00
C. McEnroe
a18ced53df
Rename and move scroll functions closer to where they are used
2021-01-26 19:53:38 -05:00
C. McEnroe
76670b2fb1
Factor out windowReflow
2021-01-26 19:33:17 -05:00
C. McEnroe
6cab788e6a
Use Warm heat for replies to user-initiated commands
...
Otherwise they are invisible with M-+ and commands having no output
is confusing.
2021-01-26 17:24:05 -05:00
C. McEnroe
bee17a8278
Clarify configuration path interpretations
2021-01-26 16:40:16 -05:00
C. McEnroe
e89e6dda99
Tighten up XDG base directory path handling
...
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.
2021-01-26 15:51:40 -05:00
C. McEnroe
1a2a1e59dd
Expand the opening paragraph of the manual
2021-01-26 14:54:13 -05:00
C. McEnroe
bd210e0f35
Disable notify in restricted mode
...
catgirl shouldn't try to execute a command if it is misconfigured
with both restrict and notify.
2021-01-25 18:27:07 -05:00
C. McEnroe
86b79096e0
Don't print timestamps for blank lines in bufferList
2021-01-25 17:27:54 -05:00
C. McEnroe
609c9bd0ac
Do not copy time to wrapped lines
2021-01-25 17:23:17 -05:00
C. McEnroe
d7fdc5d36b
Add protocol coverage to non-features list
...
I don't feel that 100% protocol extension support should at all be
a goal.
2021-01-25 14:45:30 -05:00
C. McEnroe
61b42713e6
Move mention of pledge(2) and unveil(2) to README
...
The manual is the wrong place to document platform support.
2021-01-25 13:58:02 -05:00
C. McEnroe
61bd4079a0
Preserve order of filters when removing
...
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.
2021-01-23 16:15:39 -05:00
C. McEnroe
9adedc660b
Fix /unignore command
...
Yikes, copy-paste fail.
2021-01-23 16:12:25 -05:00
C. McEnroe
bc29082f9d
Remove use of "%n" to appease de Raadt
...
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
2021-01-23 12:34:30 -05:00
Klemens Nanni
bc3bd95648
Drop filesystem access iff possible
...
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".
2021-01-23 00:48:19 -05:00
Klemens Nanni
837c9efce4
Drop exec capability iff restricted
...
Nothing must be executed when running /copy, et al.
2021-01-23 00:48:19 -05:00
Klemens Nanni
c93c56e4e5
Drop network capability after ircConnect()
...
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.
2021-01-23 00:48:19 -05:00
Klemens Nanni
a19f48d840
Call pledge(2) after unveil(2)
...
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.
2021-01-23 00:48:19 -05:00
C. McEnroe
95bb627ffb
Separate kiosk mode from restrict mode
...
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.
2021-01-23 00:48:15 -05:00
C. McEnroe
6ee0aea9e5
Simplify windowUpdate loops and factor out windowTop
...
No idea why I made that more complicated than it had to be looping
backwards.
2021-01-21 11:57:23 -05:00
C. McEnroe
6a6456a0dc
Document that M-l shows timestamps
2021-01-21 10:36:29 -05:00
Jeremy O'Brien
1fbc8fe394
Don't lose swapped window when navigating to current buffer
2021-01-19 12:14:43 -05:00
C. McEnroe
965b6987a9
Use Warm heat for manually inserted blank lines
...
Oops, forgot about these.
2021-01-19 10:50:55 -05:00
Klemens Nanni
f944c6455d
Add example tmux(1) config
...
Spawn one catgirl per network and handle reconnects through tmux,
no extra tool required.
2021-01-18 14:44:49 -05:00
C. McEnroe
06683aa4e3
Use Warm heat for blank lines
...
So they're not hidden by M-+.
2021-01-17 00:35:59 -05:00
C. McEnroe
063f2aaa0c
Add -I highlight option and /highlight
2021-01-16 14:15:00 -05:00
C. McEnroe
5a490945ea
Rename ignore code to filter
2021-01-16 13:36:39 -05:00
C. McEnroe
6160b3f18c
Remove join/part/quit ignore example
...
These can now be hidden with M-+.
2021-01-16 13:36:39 -05:00
C. McEnroe
1a1fe1fb7a
Save and load window visibility thresholds
2021-01-16 13:09:55 -05:00
C. McEnroe
43b1dba720
Restore toggling ignore with M--
...
So that pressing M-- repeatedly maintains the previous behavior.
2021-01-16 13:05:01 -05:00
C. McEnroe
d05872303e
Generalize ignore toggling to visibility threshold
2021-01-16 12:58:16 -05:00
C. McEnroe
51c92f94ff
Save and load the URL ring in the save file
2021-01-11 18:05:22 -05:00
C. McEnroe
763802cae6
Don't pass nick to urlScan for MOTD and help
2021-01-11 17:59:12 -05:00
C. McEnroe
0f7518226e
Check fprintf return values rather than ferror
2021-01-10 22:00:40 -05:00
C. McEnroe
df280aa7d6
Sandbox with unveil(2) on OpenBSD in restricted mode
...
I wrote all this in vi and it was nice.
2021-01-10 19:23:01 -05:00