set-option -g history-limit 50000 set-option -g default-shell /usr/bin/zsh # bind prefix + b to list tmux windows bind b split-window "tmux lsw | percol --initial-index $(tmux lsw | awk '/active.$/ {print NR-1}') | cut -d':' -f 1 | tr -d '\n' | xargs -0 tmux select-window -t" bind B split-window "tmux ls | percol --initial-index $(tmux ls | awk \"/^$(tmux display-message -p '#{session_name}'):/ {print NR-1}\") | cut -d':' -f 1 | tr -d '\n' | xargs -0 tmux switch-client -t" bind | split-window -h bind | split-window -h bind - split-window -v unbind '"' unbind % bind | split-window -h bind-key j command-prompt -p "join pane from:" "join-pane -s '%%'" bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'" bind r source-file ~/.tmux.conf # If current tmux pane is emacs, navigate emacs windows, other wise just use # M-directions for moving bind -n M-Left run "(tmux display-message -p '#{pane_current_command}' | grep -iq emacs && tmux send-keys M-Left) || tmux select-pane -L" bind -n M-Right run "(tmux display-message -p '#{pane_current_command}' | grep -iq emacs && tmux send-keys M-Right) || tmux select-pane -R" bind -n M-Up run "(tmux display-message -p '#{pane_current_command}' | grep -iq emacs && tmux send-keys M-Up) || tmux select-pane -U" bind -n M-Down run "(tmux display-message -p '#{pane_current_command}' | grep -iq emacs && tmux send-keys M-Down) || tmux select-pane -D" bind -n M-S-Left run "(tmux swap-pane -U)" bind -n M-S-Right run "(tmux swap-pane -D)" unbind-key C-b set -g prefix 'C-\' bind-key 'C-\' send-prefix set -g mouse on set-option -g allow-rename off set-window-option -g automatic-rename off ###################### ### DESIGN CHANGES ### ###################### # panes set -g pane-border-fg black set -g pane-active-border-fg brightred ## Status bar design # status line #set -g status-utf8 on set -g status-justify left set -g status-bg default set -g status-fg colour12 set -g status-interval 2 # messaging set -g message-fg black set -g message-bg yellow set -g message-command-fg blue set -g message-command-bg black #window mode setw -g mode-bg colour5 setw -g mode-fg colour0 # 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=black]#[fg=colour8] #W " setw -g window-status-current-format "#[bg=brightmagenta]#[fg=colour8] #I #[fg=colour8]#[bg=colour14] #W " setw -g window-status-current-bg colour0 setw -g window-status-current-fg colour11 setw -g window-status-current-attr dim setw -g window-status-bg green setw -g window-status-fg black setw -g window-status-attr 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 "xterm-256color" set-option -g terminal-overrides "xterm-256color:Tc" #set -g default-terminal "tmux-256color" # The modes { setw -g clock-mode-colour colour135 setw -g mode-attr bold setw -g mode-fg colour196 setw -g mode-bg colour238 # } # The panes { set -g pane-border-bg "#111111" set -g pane-border-fg colour235 set -g pane-active-border-bg "#111111" set -g pane-active-border-fg "#777788" # } # The statusbar { set -g status-position bottom set -g status-bg colour234 set -g status-fg colour137 set -g status-attr dim set -g status-left '' set -g status-right '#[fg=colour233,bg=colour241,bold] %d/%m #[fg=colour233,bg=colour245,bold] %H:%M:%S ' set -g status-right-length 50 set -g status-left-length 20 setw -g window-status-current-fg colour81 setw -g window-status-current-bg colour238 setw -g window-status-current-attr bold setw -g window-status-current-format ' #I#[fg=colour250]:#[fg=colour255]#W#[fg=colour50]#F ' setw -g window-status-fg colour138 setw -g window-status-bg colour235 setw -g window-status-attr none setw -g window-status-format ' #I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F ' setw -g window-status-bell-attr bold setw -g window-status-bell-fg colour255 setw -g window-status-bell-bg colour1 # The messages { set -g message-attr bold set -g message-fg colour232 set -g message-bg colour166 # }