diff options
Diffstat (limited to 'scripts/chat.tmux.conf')
-rw-r--r-- | scripts/chat.tmux.conf | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/scripts/chat.tmux.conf b/scripts/chat.tmux.conf new file mode 100644 index 0000000..3489a19 --- /dev/null +++ b/scripts/chat.tmux.conf @@ -0,0 +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 + +# indicate new messages +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 +# 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 + + +# 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 -d -S -n hackint -- catgirl -- defaults hackint +new-window -d -S -n efnet -- catgirl -- defaults efnet |