first push of my config files
[my-dotfiles.git] / tmux / tmux.conf.danix
1 # -- general -------------------------------------------------------------------
2 # scrollback size
3 set -g history-limit 10000
4
5 ## set the default TERM
6 set -g default-terminal screen
7 ## update the TERM variable of terminal emulator when creating a new session or attaching a existing session
8 set -g update-environment 'DISPLAY SSH_ASKPASS SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY TERM'
9 ## determine if we should enable 256-colour support
10 if "[[ ${TERM} =~ 256color || ${TERM} == fbterm ]]" 'set -g default-terminal screen-256color'
11
12 setw -g xterm-keys on
13 # faster command sequences
14 set -s escape-time 10
15 # increase repeat timeout
16 set -sg repeat-time 600
17 set -s focus-events on
18 # rename window to reflect current program
19 setw -g automatic-rename on
20 # renumber windows when a window is closed
21 set -g renumber-windows on
22 # set terminal title
23 set -g set-titles on
24 # slightly longer pane indicators display time
25 set -g display-panes-time 800
26 # slightly longer status messages display time
27 set -g display-time 1000
28 # redraw status line every 5 seconds
29 set -g status-interval 5
30
31 # -- bindings ------------------------------------------------------------------
32 # Changing ctrl b to ctrl Space as the command button
33 unbind C-b
34 set -g prefix C-Space
35
36 # set first window to index 1 (not 0) to map more to the keyboard layout
37 set -g base-index 1
38 set -g pane-base-index 1
39
40 # Keep your finger on ctrl, or don't, same result
41 bind-key C-d detach-client
42 # bind-key C-p paste-buffer
43
44 # reload tmux config with ctrl + a + r
45 unbind r
46 bind-key r \
47 source-file ~/.tmux.conf \;\
48 display 'Reloaded tmux config.'
49
50 # Vertical splits with v or C-v
51 unbind g
52 unbind C-g
53 bind-key v split-window -h
54 bind-key C-v split-window -h
55
56 # Horizontal splits with h or C-h
57 unbind h
58 unbind C-h
59 bind-key h split-window
60 bind-key C-h split-window
61
62 # F8 rename window
63 # unbind F8
64 # unbind C-F8
65 bind-key -n F8 command-prompt 'rename-window %%'
66
67 # Ctrl - t or t new window
68 # unbind t
69 # unbind C-t
70 # bind-key t new-window
71 bind-key -n C-t new-window
72
73 # Ctrl - w or w to kill panes
74 # unbind w
75 # unbind C-w
76 # bind-key w kill-pane
77 bind-key -n C-w kill-pane
78
79 # C + control q to kill session
80 # unbind q
81 # unbind C-q
82 # bind-key q kill-session
83 bind-key -n C-q kill-session
84
85 # Switching panes with Ctrl
86 bind-key -n C-Left select-pane -L
87 bind-key -n C-Right select-pane -R
88 bind-key -n C-Up select-pane -U
89 bind-key -n C-Down select-pane -D
90
91 # Ctrl + a + n : New session
92 unbind n
93 unbind C-n
94 bind-key n new-session
95 bind-key C-n new-session
96
97 # Ctrl + a + Pagedown : Next window
98 unbind Pagedown
99 bind-key -n C-Pagedown next-window
100
101 # Ctrl + a + Pagup : Previous window
102 unbind Pageup
103 bind-key -n C-Pageup previous-window
104
105 # Visual Activity Monitoring between windows
106 setw -g monitor-activity on
107 set -g visual-activity off
108
109 # -- default session -----------------------------------------------------------
110 new -s local -n danix
111 neww -n root su -
112 neww -n top htop
113 neww -n syswatch tail -f /var/log/messages
114 splitw -v -p 50 -t 1 /home/danix/bin/my_netstat
115 selectw -t 2
116 selectp -t 1
117
118 # -- copy mode -----------------------------------------------------------------
119
120 bind-key Enter copy-mode # enter copy mode
121
122 run -b 'tmux bind -t vi-copy v begin-selection 2> /dev/null || true'
123 run -b 'tmux bind -T copy-mode-vi v send -X begin-selection 2> /dev/null || true'
124 run -b 'tmux bind -t vi-copy C-v rectangle-toggle 2> /dev/null || true'
125 run -b 'tmux bind -T copy-mode-vi C-v send -X rectangle-toggle 2> /dev/null || true'
126 run -b 'tmux bind -t vi-copy y copy-selection 2> /dev/null || true'
127 run -b 'tmux bind -T copy-mode-vi y send -X copy-selection-and-cancel 2> /dev/null || true'
128 run -b 'tmux bind -t vi-copy Escape cancel 2> /dev/null || true'
129 run -b 'tmux bind -T copy-mode-vi Escape send -X cancel 2> /dev/null || true'
130 run -b 'tmux bind -t vi-copy H start-of-line 2> /dev/null || true'
131 run -b 'tmux bind -T copy-mode-vi H send -X start-of-line 2> /dev/null || true'
132 run -b 'tmux bind -t vi-copy L end-of-line 2> /dev/null || true'
133 run -b 'tmux bind -T copy-mode-vi L send -X end-of-line 2> /dev/null || true'
134
135 # copy to X11 clipboard (needs xclip)
136 if -b 'command -v xclip > /dev/null 2>&1' 'bind y run -b "tmux save-buffer - | xclip -i -selection clipboard >/dev/null 2>&1"'
137
138
139 # -- buffers -------------------------------------------------------------------
140
141 bind-key b list-buffers # list paste buffers
142 bind-key p paste-buffer # paste from the top paste buffer
143 bind-key P choose-buffer # choose which buffer to paste from
144
145
146 # --theme ----------------------------------------------------------------------
147
148 # set -goqF @blackpearl-console-background colour59
149 # set -goqF @blackpearl-console-orange colour11
150 # set -goqF @blackpearl-console-dark-grey colour102
151
152 set -goqF @blackpearl-standard-background colour0
153 set -goqF @blackpearl-orange colour3
154 set -goqF @blackpearl-dark-grey colour8
155
156 set -goqF @theme-clock-mode-colour "#{@blackpearl-orange}"
157 set -goq @theme-clock-mode-style 24
158
159
160 set -goq @blackpearl-status-left-area-left-format "\[ #h \]"
161 set -goq @blackpearl-status-left-area-middle-format "#(whoami)"
162 set -goq @blackpearl-status-left-area-right-format ""
163
164 set -goq @blackpearl-status-right-area-left-format ""
165 set -goq @blackpearl-status-right-area-middle-format "[ %d-%b-%y ]"
166 set -goq @blackpearl-status-right-area-right-format "[ %H:%M:%S ]"
167
168 set -goq @blackpearl-window-status-current-format "( #I:#W )"
169 set -goq @blackpearl-window-status-format "#I:#W"
170
171 set -goqF @theme-status-left "#{@blackpearl-status-left-area-left-format} #{@blackpearl-status-left-area-middle-format} #{@blackpearl-status-left-area-right-format}"
172 set -goqF @theme-status-right "#{@blackpearl-status-right-area-left-format} #{@blackpearl-status-right-area-middle-format} #{@blackpearl-status-right-area-right-format}"
173 set -gqF @theme-window-status-current-format "#{@blackpearl-window-status-current-format}"
174 set -gqF @theme-window-status-format "#{@blackpearl-window-status-format}"
175
176 set -gF status-justify centre
177 # empty part of the status bar
178 set -gF status-style "fg=#{@blackpearl-orange},bg=#{@blackpearl-standard-background}"
179
180 set -gF status-left-length "40"
181 set -gF status-right-length "150"
182 set -gF status-left "#{@theme-status-left}"
183 # set -gF status-left "[ #h ] ♥ #(cat /etc/slackware-version)"
184 set -gF status-left-style "fg=#{@blackpearl-orange},bg=#{@blackpearl-standard-background}"
185 set -gF status-right "#{@theme-status-right}"
186 # set -gF status-right "%d-%b-%y | %H:%M:%S"
187 set -gF status-right-style "fg=#{@blackpearl-orange},bg=#{@blackpearl-standard-background}"
188
189 set -gwF window-status-current-format "#{@theme-window-status-current-format}"
190 set -gwF window-status-format "#{@theme-window-status-format}"
191 set -gwF window-status-activity-style "fg=#{@blackpearl-orange},bg=#{@blackpearl-standard-background}"
192 set -gwF window-status-current-style "fg=#{@blackpearl-dark-grey},bg=#{@blackpearl-orange}"
193
194 set -gF message-command-style "fg=#{@blackpearl-dark-grey},bg=#{@blackpearl-orange}"
195 set -gF message-style "fg=#{@blackpearl-dark-grey},bg=#{@blackpearl-orange}"
196 set -gwF clock-mode-colour "#{@theme-clock-mode-colour}"
197 set -gwF clock-mode-style "#{@theme-clock-mode-style}"
198
199 # set-option -g status-style bg=colour220,fg=colour233
200 # set-option -g pane-active-border-bg "#ff0000"
201 # set -gq @themepack-status-left-area-right-format ""
202 # set -gq @themepack-status-right-area-middle-format "#h"
203 # set -gq @themepack-status-right-area-right-format "%d-%b-%y"
204 # set -gq @powerline-status-bg "ffbf00"
205 # set -g @themepack 'powerline/block/yellow'
206
207 # run tmux-plugin-manager
208 # run -b '~/.tmux/plugins/tpm/tpm'