dotfiles/tmux/tmux.conf
2025-06-19 09:50:51 +02:00

92 lines
2.5 KiB
Bash

# https://github.com/seebi/tmux-colors-solarized/blob/master/tmuxcolors-256.conf
# set-option -g status-style bg=colour235,fg=colour136,default # bg=base02, fg=yellow
set-option -g focus-events on
# set-option -g default-terminal "screen-256color"
set-option -a terminal-features 'alacritty:RGB'
# easy reload config
bind-key r source-file ~/.config/tmux/tmux.conf \; display-message "reloaded."
# Pane splitting
unbind %
bind | split-window -h -c "#{pane_current_path}"
unbind '"'
bind - split-window -v -c "#{pane_current_path}"
# C-b is not acceptable -- Vim uses it
set-option -g prefix C-a
bind-key C-a last-window
# Start numbering at 1
set -g base-index 1
# Allows for faster key repetition
set -s escape-time 50
# Rather than constraining window size to the maximum size of any client
# connected to the *session*, constrain window size to the maximum size of any
# client connected to *that window*. Much more reasonable.
setw -g aggressive-resize on
# Allows us to use C-a a <command> to send commands to a TMUX session inside
# another TMUX session
bind-key a send-prefix
# Activity monitoring
setw -g monitor-activity on
set -g visual-activity on
# hjkl pane traversal
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind c new-window -c "#{pane_current_path}"
bind-key C command-prompt -p "Name of new window: " "new-window -n '%%'"
bind r source-file ~/.config/tmux/tmux.conf \; display-message "reloaded."
# Enable mouse support
set -g mouse on
# Increase scrollback buffer size
set -g history-limit 1000000
# Start window and pane numbering at 1
set -g base-index 1
set -g pane-base-index 1
# Detach sessions instead of killing them
set -g detach-on-destroy on
# Renumber windows automatically after one is closed
set -g renumber-windows on
# Use system clipboard
set -g set-clipboard on
# navigation
bind -n M-1 select-window -t 1
bind -n M-2 select-window -t 2
bind -n M-3 select-window -t 3
bind -n M-4 select-window -t 4
bind -n M-5 select-window -t 5
bind -n M-6 select-window -t 6
bind -n M-7 select-window -t 7
bind -n M-8 select-window -t 8
bind -n M-9 select-window -t 9
bind -n M-0 select-window -t 10
# Set color scheme for status bar
set-option -g status-bg "#282828"
set-option -g status-fg "#fe8019"
set-option -g status-interval 5
set-option -g status-left-length 40
set-option -g status-right-length 40
# Customize status bar content
set -g status-left "#[fg=#d3869b]S: #S #[fg=#d3869b]• #[fg=#d3869b]W: #I #[fg=#d3869b]• "
set -g status-right "#[fg=#d3869b]%H:%M %d-%b-%y"