# ============================================================================= # ~/.tmux.conf — tmux configuration # Managed by dotfiles ( ~/.config/fish/config.fish ) # Manual changes will be overwritten when `dotfiles update` is run. # To customise, edit this template at: # ~/.config/fish/dotfiles/tmux.conf # then run `dotfiles update tmux`. # ============================================================================= # ── Base settings ──────────────────────────────────────────────────────────── set -g default-terminal "tmux-256color" set -ga terminal-overrides ",*256col*:Tc" set -g escape-time 0 set -g history-limit 50000 set -g mouse on set -g focus-events on # ── Prefix key (unbind C-b, rebind to C-a for easier reach) ───────────────── unbind C-b set -g prefix C-a bind C-a send-prefix # ── Easy reload ────────────────────────────────────────────────────────────── bind r source-file ~/.tmux.conf \; display " tmux.conf reloaded" # ── Splitting ──────────────────────────────────────────────────────────────── bind | split-window -h bind - split-window -v # ── Arrow-key pane navigation (no prefix needed) ───────────────────────────── bind -n Left select-pane -L bind -n Right select-pane -R bind -n Down select-pane -D bind -n Up select-pane -U # ── Resize panes with Alt+arrow keys ───────────────────────────────────────── bind -n M-Left resize-pane -L 2 bind -n M-Right resize-pane -R 2 bind -n M-Down resize-pane -D 2 bind -n M-Up resize-pane -U 2 # ── Window management ──────────────────────────────────────────────────────── bind c new-window -c "#{pane_current_path}" bind , command-prompt -I "#W" { rename-window -- "%%" } bind w choose-tree -w # ── Status bar ─────────────────────────────────────────────────────────────── set -g status-interval 5 set -g status-position top set -g status-style "bg=#1e1e2e,fg=#cdd6f4" set -g status-left " #[fg=#89b4fa]#S #[fg=#585b70]│" set -g status-left-length 40 set -g status-right "#[fg=#585b70]│ #[fg=#a6e3a1]%Y-%m-%d #[fg=#fab387]%H:%M " set -g status-right-length 60 setw -g window-status-current-style "fg=#89b4fa,bold" setw -g window-status-style "fg=#6c7086" setw -g window-status-format " #I:#W " setw -g window-status-current-format " #I:#W " setw -g window-status-separator " " # ── Notifications ──────────────────────────────────────────────────────────── set -g bell-action any setw -g monitor-activity on set -g visual-activity off