chat.tmux.conf: Add help window for restricted mode, use neww -S

Provide a hotkey to browser the manual in its own window.

After input, nicm (tmux upstream) added "-S" to tmux(1) such that
the "new-window" command (in combination with "-d") first looks
for the given window name and selects the window if it exists
instead of trying to create a window that already exists.

Given that this makes chat.tmux.conf idempotent, we can now also reload
it at runtime to refresh settings.
master
Klemens Nanni 2021-02-08 23:34:58 +01:00 committed by C. McEnroe
parent 180287164c
commit ab744d74e1
1 changed files with 19 additions and 3 deletions

View File

@ -1,8 +1,12 @@
# use `tmux -L chat -f ./chat.tmux.conf attach-session' (without any other
# options or parameters) to access this session group in its own tmux server,
# not interfering with existing servers/sessions/configurations
new-session -t chat
# catgirl(1) puts windows at the top
set-option -g -- status-position top
# intuitive navigation
set-option -g -- mode-keys vi
set-option -g -- mouse on
@ -30,6 +34,10 @@ bind-key -n -N 'confirm INTR key' -- C-c \
# one-click version of default `C-b w' (shows preview windows)
bind-key -n -N 'pick chat network' -- F1 choose-tree -Z
# catgirl(1) might run in `-R'/`restrict'ed mode, i.e. `/help' is disabled
bind-key -n -N 'read catgirl help' -- F2 \
new-window -S -n help -- man -s 1 -- catgirl
# intuitive refresh, just don't spam it ;-)
bind-key -n -N 'reconnect network' -- F5 \
confirm-before -p 'reconnect network? (y/N)' -- 'respawn-pane -k'
@ -38,9 +46,17 @@ bind-key -n -N 'reconnect network' -- F5 \
bind-key -n -N 'toggle fullscreen' -- F11 set status
# this configuration is idempotent, i.e. reloading it only changes settings
# and never duplicates already existing windows
bind-key -N 'reload configuration' -- R {
source-file -- ./chat.tmux.conf
display-message -- 'configuration reloaded'
}
## do not double-quote commands to avoid running through "sh -c"
# IRC
new-window -n hackint -- catgirl hackint
new-window -n freenode -- catgirl freenode
new-window -n efnet -- catgirl efnet
new-window -d -S -n hackint -- catgirl -- defaults hackint
new-window -d -S -n freenode -- catgirl -- defaults freenode
new-window -d -S -n efnet -- catgirl -- defaults efnet