# 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