diff options
Diffstat (limited to 'scripts/chat.tmux.conf')
-rw-r--r-- | scripts/chat.tmux.conf | 59 |
1 files changed, 46 insertions, 13 deletions
diff --git a/scripts/chat.tmux.conf b/scripts/chat.tmux.conf index 9191b1a..3489a19 100644 --- a/scripts/chat.tmux.conf +++ b/scripts/chat.tmux.conf @@ -1,31 +1,64 @@ # 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 +set-option -g -- mode-keys vi +set-option -g -- mouse on # indicate new messages -set-option -g monitor-activity on -set-option -g monitor-bell on +set-option -g -- monitor-activity on +set-option -g -- monitor-bell on # hardcode names during window creation -set-option -g automatic-rename off -set-option -g allow-rename off -set-option -g set-titles off -set-option -g renumber-windows on +set-option -g -- automatic-rename off +set-option -g -- allow-rename off +set-option -g -- set-titles off +set-option -g -- renumber-windows on +# for the F1 binding, make hotkeys match window numbers +set-option -g -- base-index 1 + # clients exit on network errors, restart them automatically # (use `kill-pane'/`C-b x' to destroy windows) -set-option -g remain-on-exit on -set-hook -g pane-died respawn-pane +set-option -g -- remain-on-exit on +set-hook -g -- pane-died respawn-pane + + +# disarm ^C to avoid accidentially losing logs +bind-key -n -N 'confirm INTR key' -- C-c \ + confirm-before -p 'Send ^C? (y/N)' -- 'send-keys -- 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' + +# immersive mode ;-) +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 -F -- '#{source_files}' + display-message -- 'configuration reloaded' +} ## do not double-quote commands to avoid running through "sh -c" # IRC -new-window -n efnet -- catgirl efnet -new-window -n freenode -- catgirl freenode -new-window -n hackint -- catgirl hackint +new-window -d -S -n hackint -- catgirl -- defaults hackint +new-window -d -S -n efnet -- catgirl -- defaults efnet |