2024-06-11 10:12:11 -07:00
|
|
|
# A lot of this depends on a nerd-font being installed:
|
|
|
|
# https://github.com/ryanoasis/nerd-fonts
|
|
|
|
|
|
|
|
set -g default-terminal "screen-256color"
|
|
|
|
set -g status-interval 5
|
|
|
|
|
|
|
|
set-option -g history-limit 10000
|
|
|
|
|
|
|
|
# force truecolor
|
|
|
|
set-option -ga terminal-overrides ",xterm-256color:Tc"
|
|
|
|
|
|
|
|
bind-key e setw synchronize-panes on
|
|
|
|
bind-key E setw synchronize-panes off
|
|
|
|
|
|
|
|
bind-key C-b last-window
|
|
|
|
bind-key b send-prefix
|
|
|
|
bind-key c new-window -c "#{pane_current_path}"
|
|
|
|
bind-key C-c new-window -c "#{pane_current_path}"
|
|
|
|
bind-key C new-window
|
|
|
|
|
|
|
|
# lots of this was snagged from https://github.com/midnightcodr/my_tmux_conf/blob/master/.tmux.conf
|
|
|
|
|
|
|
|
bind | split-window -h -c "#{pane_current_path}"
|
|
|
|
bind _ split-window -v -c "#{pane_current_path}"
|
|
|
|
|
|
|
|
bind C-j split-window -f -v -l 10 -c "#{pane_current_path}"
|
|
|
|
bind C-l split-window -f -h -l 30 -c "#{pane_current_path}"
|
|
|
|
|
|
|
|
#bind -r ^ resize-pane -U 5
|
|
|
|
#bind -r < resize-pane -L 1
|
|
|
|
#bind -r > resize-pane -R 1
|
|
|
|
#bind -r + resize-pane -U 1
|
|
|
|
#bind -r - resize-pane -D 1
|
|
|
|
|
|
|
|
bind-key -r -T prefix + resize-pane -U 1
|
|
|
|
bind-key -r -T prefix - resize-pane -D 1
|
|
|
|
bind-key -r -T prefix < resize-pane -L 1
|
|
|
|
bind-key -r -T prefix > resize-pane -R 1
|
|
|
|
bind-key -r -T prefix ^ resize-pane -U 1
|
|
|
|
bind-key Up select-pane -U
|
|
|
|
bind-key Down select-pane -D
|
|
|
|
bind-key Left select-pane -L
|
|
|
|
bind-key Right select-pane -R
|
|
|
|
bind-key M-Up resize-pane -U 10
|
|
|
|
bind-key M-Down resize-pane -D 10
|
|
|
|
bind-key M-Left resize-pane -L 10
|
|
|
|
bind-key M-Right resize-pane -R 10
|
|
|
|
#bind-key -r -T prefix C-Up resize-pane -U
|
|
|
|
#bind-key -r -T prefix C-Down resize-pane -D
|
|
|
|
#bind-key -r -T prefix C-Left resize-pane -L
|
|
|
|
#bind-key -r -T prefix C-Right resize-pane -R
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# Set status bar
|
|
|
|
set-option -g status-bg "#112233"
|
|
|
|
set -g status-fg "#009900"
|
2024-06-11 10:29:05 -07:00
|
|
|
set -g status-left '#[bg=colour31,fg=colour255] #h #[fg=colour31,bg=#112233] '
|
2024-06-11 10:12:11 -07:00
|
|
|
|
2024-06-11 10:29:05 -07:00
|
|
|
# disabling pomodoro for now
|
|
|
|
#set -g status-right '#[fg=#2a2a2a] #[fg=colour205,bg=#2a2a2a] #(printf "%%-3s" `test -e ~/bin/pomodoro && pomodoro status -c`) #[fg=#223388] #[fg=colour140,bg=#223388] #(test -e ~/bin/tmux-diskmon && tmux-diskmon)#[fg=#334499] #[fg=colour140,bg=#334499] #(uptime | sed -e "s/.*: //" -e "s/,//g" -e "s/ 0\./ ./g" -e "s/^0//" -e "s/\\.00/0/g") #[fg=#4455aa]#[fg=colour15,bg=#4455aa] %m/%d %H:%M '
|
|
|
|
set -g status-right '#[fg=#2a2a2a] #[fg=colour205,bg=#2a2a2a] #[fg=#223388] #[fg=colour140,bg=#223388] #(test -e ~/bin/tmux-diskmon && tmux-diskmon)#[fg=#334499] #[fg=colour140,bg=#334499] #(uptime | sed -e "s/.*: //" -e "s/,//g" -e "s/ 0\./ ./g" -e "s/^0//" -e "s/\\.00/0/g") #[fg=#4455aa]#[fg=colour15,bg=#4455aa] %m/%d %H:%M '
|
2024-06-11 10:12:11 -07:00
|
|
|
|
|
|
|
set -g status-right-length 60
|
|
|
|
set -g status-left-length 40
|
|
|
|
|
2024-06-11 10:29:05 -07:00
|
|
|
if-shell "uname | grep -q Darwin" "set -g status-left '#[bg=#77ddaa,fg=colour0] #h #[fg=#77ddaa,bg=#112233] '"
|
|
|
|
if-shell "uname | grep -q Linux" "set -g status-left '#[bg=colour31,fg=colour255] #h #[fg=colour31,bg=#112233] '"
|
|
|
|
if-shell "lsb_release -si | grep -q Ubuntu" "set -g status-left '#[bg=#5e2750,fg=colour255] #h #[fg=#5e2750,bg=#112233] '"
|
|
|
|
if-shell "lsb_release -si | grep -q Raspbian" "set -g status-left '#[bg=#ff0066,fg=colour255] #h #[fg=#ff0066,bg=#112233] '"
|
|
|
|
if-shell "hostname | grep -q lechuck" "set -g status-left '#[bg=#996633,fg=colour255]#h #[fg=#996633,bg=#112233] '"
|
|
|
|
if-shell "hostname | grep -q meathook" "set -g status-left '#[bg=#1111ff,fg=colour255]👻 #h #[fg=#1111ff,bg=#112233] '"
|
2024-06-11 10:12:11 -07:00
|
|
|
|
|
|
|
## 24 bit stuff
|
|
|
|
#set -g default-terminal "xterm-256color"
|
|
|
|
#set -ga terminal-overrides ",xterm-256color:Tc"
|
|
|
|
|
|
|
|
# Highlight active window
|
2024-06-11 10:29:05 -07:00
|
|
|
set-window-option -g window-status-current-format "#[bg=#000011,fg=#112233] #[bg=#000011,fg=#bbffbb]#I:#W #[bg=#112233,fg=#000011]"
|
2024-06-11 10:12:11 -07:00
|
|
|
set-window-option -g window-status-format "#I:#W "
|
|
|
|
|
|
|
|
# Inactive windows get low-contrast; active window sharper
|
|
|
|
set -g window-style 'fg=colour246,bg=#152030'
|
|
|
|
set -g window-active-style 'fg=colour255,bg=black'
|
|
|
|
|
|
|
|
# Automatically set window title
|
|
|
|
set-option -g set-titles on
|
|
|
|
setw -g automatic-rename off
|
|
|
|
set-option -g set-titles-string "#h: #W"
|
|
|
|
set-option -g allow-rename off
|
|
|
|
|
|
|
|
|
|
|
|
setw -g monitor-activity off
|
|
|
|
set -g visual-activity on
|
|
|
|
|
|
|
|
# vi key bindings
|
|
|
|
setw -g mode-keys vi
|
|
|
|
|
|
|
|
# moving panes around - http://unix.stackexchange.com/questions/14300/moving-tmux-window-to-pane
|
|
|
|
bind-key j command-prompt -p "join pane from:" "join-pane -s '%%'"
|
|
|
|
bind-key s command-prompt -p "send pane to:" "join-pane -t '%%'"
|
|
|
|
|