catboy/scripts/chat.tmux.conf

65 lines
2.0 KiB
Plaintext

# 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 on
# 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