session-tools/tmux.conf
Natalie 9a47f7f2d9 fix(@scripts): 🐛 improve tmux session display with directory labels
Co-Authored-By: Lilith Autocommit <noreply@atlilith.com>
2026-05-17 05:28:30 -07:00

42 lines
1.8 KiB
Bash

# Reduce escape sequence latency — default 500ms makes scroll feel completely broken
# in TUI apps (Claude Code, vim, etc.) because each wheel event uses escape sequences.
set -s escape-time 10
# Pass focus events through to applications (Claude Code uses these)
set -g focus-events on
# True color passthrough
set -ga terminal-overrides ",*256col*:Tc"
# Larger scrollback for when you need tmux copy mode
set -g history-limit 50000
# Mouse wheel scrolls tmux scrollback (auto-enters copy mode) instead of being
# passed as arrow keys to the inner app (which would scroll Claude history etc.)
# Hold Option on macOS to bypass tmux and use native terminal selection.
set -g mouse on
# Resize panes to the active client's size, not the smallest attached. Matters
# when reattaching the same durable session from different terminals (phone,
# laptop, IDE pane) — otherwise the layout collapses to the smallest viewer.
setw -g aggressive-resize on
# Forward copy-mode selections to the OS clipboard via OSC 52, so mouse-drag
# or `y` in copy mode actually lands in the local terminal's clipboard even
# across ssh + tmux.
set -g set-clipboard on
# Keep window indexes contiguous when one closes; quiet the activity flag spam.
set -g renumber-windows on
setw -g monitor-activity off
# Surface hostname everywhere — matters when stacking rclaude/ssh tmuxes across
# plum/apricot and you need to know which host the active pane is on.
# - Terminal window title: <host> · <tmux session name> (read by iTerm/macOS title bar)
# - tmux status-left: [<host>] <session>
# - tmux status-right: <date> <time>
set -g set-titles on
set -g set-titles-string '#H · #S'
set -g status-left '#[fg=cyan,bold][#H]#[default] #S '
set -g status-right '%a %H:%M'
set -g status-left-length 40