From ab744d74e17353bdf66cf01652210109e77e87a3 Mon Sep 17 00:00:00 2001 From: Klemens Nanni Date: Mon, 8 Feb 2021 23:34:58 +0100 Subject: 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. --- scripts/chat.tmux.conf | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/scripts/chat.tmux.conf b/scripts/chat.tmux.conf index db5cca2..e58f955 100644 --- a/scripts/chat.tmux.conf +++ b/scripts/chat.tmux.conf @@ -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 -- cgit 1.4.1 (Expand)Author 2020-12-29Match lex/yacc %% %{ %} lines as MacroJune McEnroe 2020-12-29Match top-level C definitions as IdentifierTagJune McEnroe 2020-12-29Match C type declarations as IdentifierTagJune McEnroe 2020-12-29Match function-like macro definitions as IdentifierTagJune McEnroe 2020-12-29Reconfigure C macro start conditionsJune McEnroe 2020-12-29Document HTML class namesJune McEnroe 2020-12-29Rename Tag class to IdentifierTagJune McEnroe 2020-12-29Change HTML class from hi to hilexJune McEnroe 2020-12-29Add hilex HTML outputJune McEnroe