tmux: Update gruvbox colorscheme
[shutils.git] / dotfiles / tmux / .tmux.conf
1 # Prefer xterm-256color as vim (neovim) within mutt switches to monochrome with
2 # screen-256color.
3 set -g default-terminal "xterm-256color"
4 set -g mouse on
5
6 set-window-option -g xterm-keys on
7
8 # Pass escape immediately to vim
9 set -sg escape-time 0
10
11 # Copy to X11 clipboard
12 bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
13
14 bind-key m set-option -g mouse on \; display 'Mouse: ON'
15 bind-key M set-option -g mouse off \; display 'Mouse: OFF'
16
17 # Let split et alii use the pane's current path as current path of the new pane
18 bind '"' split-window -c "#{pane_current_path}"
19 bind % split-window -h -c "#{pane_current_path}"
20 bind c new-window -c "#{pane_current_path}"
21
22 # Pass home and end keys
23 bind-key -n Home send Escape "OH"
24 bind-key -n End send Escape "OF"
25
26 # Pass titles to terminal
27 set-option -g set-titles on
28 set-option -g set-titles-string "[#S : #W : #T]"
29
30
31 # {{{{ Gruvbox color scheme
32 # https://github.com/egel/tmux-gruvbox/blob/master/tmux-gruvbox-dark.conf
33
34 ## COLORSCHEME: gruvbox dark (medium)
35 set-option -g status "on"
36
37 # default statusbar color
38 set-option -g status-style bg=colour237,fg=colour223 # bg=bg1, fg=fg1
39
40 # default window title colors
41 set-window-option -g window-status-style bg=colour214,fg=colour237 # bg=yellow, fg=bg1
42
43 # default window with an activity alert
44 set-window-option -g window-status-activity-style bg=colour237,fg=colour248 # bg=bg1, fg=fg3
45
46 # active window title colors
47 set-window-option -g window-status-current-style bg=red,fg=colour237 # fg=bg1
48
49 # pane border
50 set-option -g pane-active-border-style fg=colour250 #fg2
51 set-option -g pane-border-style fg=colour237 #bg1
52
53 # message infos
54 set-option -g message-style bg=colour239,fg=colour223 # bg=bg2, fg=fg1
55
56 # writing commands inactive
57 set-option -g message-command-style bg=colour239,fg=colour223 # bg=fg3, fg=bg1
58
59 # pane number display
60 set-option -g display-panes-active-colour colour250 #fg2
61 set-option -g display-panes-colour colour237 #bg1
62
63 # clock
64 set-window-option -g clock-mode-colour colour109 #blue
65
66 # bell
67 set-window-option -g window-status-bell-style bg=colour167,fg=colour235 # bg=red, fg=bg
68
69 ## Theme settings mixed with colors (unfortunately, but there is no cleaner way)
70 set-option -g status-justify "left"
71 set-option -g status-left-style none
72 set-option -g status-left-length "80"
73 set-option -g status-right-style none
74 set-option -g status-right-length "80"
75 set-window-option -g window-status-separator ""
76
77 set-option -g status-left "#[bg=colour241,fg=colour248] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]"
78 set-option -g status-right "#[bg=colour237,fg=colour239 nobold, nounderscore, noitalics]#[bg=colour239,fg=colour246] %Y-%m-%d  %H:%M #[bg=colour239,fg=colour248,nobold,noitalics,nounderscore]#[bg=colour248,fg=colour237] #h "
79
80 set-window-option -g window-status-current-format "#[bg=colour214,fg=colour237,nobold,noitalics,nounderscore]#[bg=colour214,fg=colour239] #I #[bg=colour214,fg=colour239,bold] #W#{?window_zoomed_flag,*Z,} #[bg=colour237,fg=colour214,nobold,noitalics,nounderscore]"
81 set-window-option -g window-status-format "#[bg=colour239,fg=colour237,noitalics]#[bg=colour239,fg=colour223] #I #[bg=colour239,fg=colour223] #W #[bg=colour237,fg=colour239,noitalics]"
82