-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtmux.conf
120 lines (98 loc) · 4.59 KB
/
tmux.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# Switch me back to ^A, thanks
set-option -g prefix C-a
unbind-key C-b
bind-key a send-prefix
# scrolling in the window? maybe? please?
#set -g terminal-overrides 'xterm*:smcup@:rmcup@'
# neovim suggestion for truecolors
set-option -sa terminal-overrides ',XXX:RGB'
# I miss ^A^A
bind-key C-a last-window
# Reload tmux config with r
bind r source-file ~/.tmux.conf
# layout toggling
bind-key Space next-layout
bind-key C-Space previous-layout
bind-key = select-layout tiled
# vim style pane selections
bind-key h select-pane -L
bind-key j select-pane -D
bind-key k select-pane -U
bind-key l select-pane -R
# synchronize-panes
bind m set -w synchronize-panes
# allow breaking pane(split) into fullscreen
bind-key + break-pane
# join the current pane to a target window (requires number)
bind-key - command-prompt -p "send pane to window:" "join-pane -t '%%'"
# swap panes side by side
#bind-key { swap-pane -U
#bind-key } swap-pane -D
# show messages from tmux
#bind-key ~ show-messages
# zoom current pane fullscreen (toggle)
bind-key z resize-pane -Z
# Options
set-option -sg escape-time 50 # this makes vim fucking awful to use
set-option -g base-index 1
set-option -g default-terminal screen-256color
set-option -g lock-command vlock
set-window-option -g xterm-keys on # to make ctrl-arrow, etc. work
#monitor window activity
setw -g monitor-activity on
set -g visual-activity on
#allow auto renaming
setw -g automatic-rename on
#setw -g utf8 on # no longer necessary in HEAD
set -g history-limit 10000
##+ messages:
set-window-option -g mode-style bg=black,fg=colour164
set-window-option -g message-style bg="#000000",fg=colour164
##+ panes:
set-option -g pane-border-style fg="#333333",bg=default
set-option -g pane-active-border-style fg="colour166",bg=default
##+ status bar:
set-option -g status-position top
set-option -g set-titles on
set-option -g set-titles-string '#T'
#set-option -g status-utf8 on # no longer necessary in HEAD
set-option -g status-interval 3 # this impacts update interval for status bar, and clobbers messages
set-option -g status-left-length 60
set-option -g status-right-length 600
set-option -g status-justify left
set-option -g status-style bg='#000000',fg='#333333'
set-option -g visual-activity on
set-window-option -g monitor-activity on
set-window-option -g window-status-current-style bg='#000000',fg='colour178' # yellow
#set-window-option -g window-status-current-fg '#3d3a3a'
#set-window-option -g window-status-current-fg 'colour25' # ice blue
set-window-option -g window-status-style bg='#000000',fg='#333333'
##+ clock:
set-window-option -g clock-mode-colour colour92 # red
set-window-option -g clock-mode-style 24 # hours
# window tab format for unfocused tabs
set-option -g window-status-separator ''
set-option -g window-status-format '#{?window_activity_flag,#[bg=colour208#,fg=colour233],#[fg=colour208#,bg=colour233]} #I#{?window_activity_flag,#[bg=colour43#,fg=colour233]!,} #{?window_activity_flag,#[bg=colour25#,fg=colour233],#[fg=colour25#,bg=colour233]}#W#F '
# window tab format for focused tabs (keep in mind, status-right shows #W)
set-option -g window-status-current-format '#[fg=colour232,bg=colour202] #I #[fg=colour233,bg=colour208] #W#F '
set-option -g status-left '#I.#P #[fg=colour235]#T#[fg=colour235,bg=black] '
set-option -g status-right "#[fg=colour32]#(type -p kubectl >/dev/null && test -r ~/.kube/config && kubectl config current-context)#[default] #[fg=colour127]#h#[default] #{online_status} #{ram_fg_color}#{ram_icon}#{ram_percentage} #{cpu_fg_color}#{cpu_icon}#{cpu_percentage}#[fg=default,bg=default]#{battery_color_bg}#{battery_color_fg} #{battery_percentage} #{battery_icon_status} #[default]#[fg=colour33]%Y.#[fg=colour198]%m.%d #[fg=colour208]%H:%M:%S#[default]"
# colorschemes
# - https://coolors.co/b7094c-a01a58-892b64-723c70-5c4d7d-455e89-2e6f95-1780a1-0091ad
# - https://coolors.co/7400b8-6930c3-5e60ce-5390d9-4ea8de-48bfe3-56cfe1-64dfdf-72efdd-80ffdb
# - https://coolors.co/390099-9e0059-ff0054-ff5400-ffbd00
set -g @cpu_low_fg_color "#[fg=colour8]"
set -g @cpu_medium_fg_color "#[fg=colour6]"
set -g @cpu_high_fg_color "#[fg=colour131]"
set -g @ram_low_fg_color "#[fg=colour8]" # gray
set -g @ram_medium_fg_color "#[fg=colour6]" # teal
set -g @ram_high_fg_color "#[fg=colour131]" # shit orange
set -g @online_icon "online"
set -g @offline_icon "offline"
# https://github.com/tmux-plugins/tpm
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-cpu'
set -g @plugin 'tmux-plugins/tmux-battery'
set -g @plugin 'tmux-plugins/tmux-online-status'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
#run -b '~/.tmux/plugins/tpm/tpm'