This note contains configuration (literate programming) that I use for tmux.

# panes
set -g pane-border-style fg=black
set -g pane-active-border-style fg=brightred

## Status bar design
# status line
set -g status-justify left
set -g status-style bg=default,fg=colour12
set -g status-interval 2

# messaging
set -g message-style bg=yellow,fg=black
set -g message-command-style fg=blue,bg=black,bold

#window mode
setw -g mode-style bg=colour6,fg=colour0
# setw -g mode-fg colour196
# setw -g mode-bg colour238

# window status
setw -g window-status-format " #F#I:#W#F "
setw -g window-status-current-format " #F#I:#W#F "
setw -g window-status-format "#[fg=magenta]#[bg=black] #I #[bg=cyan]#[fg=colour8] #W "
setw -g window-status-current-format "#[bg=brightmagenta]#[fg=colour8] #I #[fg=colour8]#[bg=colour14] #W "
setw -g window-status-current-style bg=colour0,fg=colour11,dim
setw -g window-status-style bg=green,fg=black,reverse

# Info on left (I don't have a session display for now)
set -g status-left ''

# loud or quiet?
set-option -g visual-activity off
set-option -g visual-bell off
set-option -g visual-silence off
set-window-option -g monitor-activity off
set-option -g bell-action none

set -g default-terminal "screen-256color"

# The modes {
setw -g clock-mode-colour colour135
set -g mouse on

# }
# The panes {

set -g pane-border-style bg=colour235,fg=colour238
set -g pane-active-border-style bg=colour236,fg=colour51

# }
# The statusbar {

set -g status-position bottom
set -g status-style bg=colour234,fg=colour137,dim
set -g status-left ''
set -g status-right '#[fg=colour250,bold]@#S #[fg=colour233,bg=colour241,bold] %d/%m #[fg=colour233,bg=colour245,bold] %H:%M'
set -g status-right-length 50
set -g status-left-length 20

setw -g window-status-current-style fg=colour81,bg=colour238,bold
setw -g window-status-current-format ' #I#[fg=colour250]:#[fg=colour255]#W#[fg=colour50] '

setw -g window-status-style fg=colour138,bg=colour235,none
setw -g window-status-format ' #I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244] '

setw -g window-status-bell-style fg=colour255,bg=colour1,bold

# }
# The messages {

set -g message-style fg=colour232,bg=colour166,bold

# }

##
## Keybindings
##
unbind C-b
set -g prefix C-q

bind q send-prefix
bind \ split-window -h
bind - split-window -v
bind ` select-window -t 0

bind-key -n M-] next-window
bind-key -n M-[ previous-window
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 0

bind -n M-i select-pane -U
bind -n M-k select-pane -D
bind -n M-j select-pane -L
bind -n M-l select-pane -R
bind T swap-window -t 0

##
## Other configuration
##

set -g history-limit 100000
setw -g mode-keys  emacs
setw -g monitor-activity off
set -g visual-activity off

Links to this note