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

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

From: Klemens Nanni
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
-- 
2.30.0

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

From: June Bug
> On Feb 8, 2021, at 17:34, Klemens Nanni <klemens@posteo.de> wrote:
> 
> 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.

Thanks, applied.