tmux.conf
.config/tmux/tmux.conf
set -g status-position top
set -g status on
set -g status-style "bg=default,fg=#777777"
set -gu status-format[1]
set -g status-left-length 30
set -g status-left "#[fg=green]● #[fg=#cdd6f4]#S #[fg=#444444]│ "
set -g status-right "#[fg=#777777]%H:%M"
set -g window-status-format " #I:#W "
set -g window-status-current-format "#[fg=cyan] #I:#W "
set -g base-index 1
set -g pane-base-index 1
set -g mouse on
setw -g mode-keys vi
# C-M- (= Super+Alt via Alacritty remap): create/switch tmux windows
bind-key -n C-M-j previous-window
bind-key -n C-M-k next-window
bind-key -n C-M-t new-window
bind-key -n C-M-q kill-window
bind-key -n M-J swap-window -t -1
bind-key -n M-K swap-window -t +1
# Super+Alt+S arrives through Alacritty as a custom sequence.
set -s user-keys[4] "\033Rs"
bind-key -n User4 choose-tree -s
# Create, rename and kill sessions without leaving the current tmux client.
set -s user-keys[5] "\033Rn"
set -s user-keys[6] "\033Rr"
set -s user-keys[7] "\033Rx"
bind-key -n User5 command-prompt -p "New session:" "new-session -s '%%'"
bind-key -n User6 command-prompt -I "#S" -p "Rename session:" "rename-session '%%'"
bind-key -n User7 confirm-before -p "Session #S killen? (y/n)" kill-session
# Jump to the next session instead of detaching when the current one dies.
set -g detach-on-destroy off
# M- (Alt alone): switch/create/kill panes
bind-key -n M-h select-pane -L
bind-key -n M-j select-pane -D
bind-key -n M-k select-pane -U
bind-key -n M-l select-pane -R
bind-key -n M-t split-window -h -c "#{pane_current_path}"
bind-key -n M-v split-window -v -c "#{pane_current_path}"
bind-key -n M-q kill-pane
# Super+Alt+Shift+hjkl: pane resize (mirrors Hyprland's Super+Shift+hjkl).
# Alacritty sends custom escape sequences for this combo since Ctrl+Shift+
# letter can't be distinguished from Ctrl+letter; register them as user-keys.
set -s user-keys[0] "\033Rh"
set -s user-keys[1] "\033Rj"
set -s user-keys[2] "\033Rk"
set -s user-keys[3] "\033Rl"
bind-key -n User0 resize-pane -L 5
bind-key -n User1 resize-pane -D 5
bind-key -n User2 resize-pane -U 5
bind-key -n User3 resize-pane -R 5
bind-key -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "wl-copy"