142 lines
4.1 KiB
Bash
142 lines
4.1 KiB
Bash
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
|
# ┃ Uncomment the colors you like ┃
|
|
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
|
|
|
# T0B = status bar background
|
|
# T1* = inactive tab, pane borders, hostname and clock,
|
|
# inactive window number
|
|
# T2* = active tab, bell flag, active window number
|
|
# TS* = sync-attr colors
|
|
# TZ* = zoom-attr colors
|
|
|
|
# shared flags
|
|
TSF=colour201
|
|
TSB=colour095
|
|
TZF=colour047
|
|
TZB=colour028
|
|
|
|
# ━━━ gruvbox ━━━
|
|
#T0B=colour237
|
|
#T1F=colour223
|
|
#T1B=colour239
|
|
#T2F=colour239
|
|
#T2B=colour214
|
|
|
|
# ━━━ catppuccin macchiato (pick one T2B) ━━━
|
|
T0B="#24273a" # base
|
|
T1F="#b8c0e0" # subtext1
|
|
T1B="#363a4f" # surface0
|
|
T2F="#363a4f" # surface0
|
|
#T2B="#f4dbd6" # rosewater
|
|
#T2B="#f5bde6" # pink
|
|
T2B="#c6a0f6" # mauve
|
|
#T2B="#8aadf4" # blue
|
|
|
|
# ━━━ catppuccin mocha ━━━
|
|
#T0B="#1e1e2e" # base
|
|
#T1F="#bac2de" # subtext1
|
|
#T1B="#313244" # surface0
|
|
#T2F="#313244" # surface0
|
|
#T2B="#f5e0dc" # rosewater
|
|
#T2B="#f5c2e7" # pink
|
|
#T2B="#cba6f7" # mauve
|
|
#T2B="#89b4fa" # blue
|
|
|
|
|
|
|
|
# ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
|
|
# ┃ End of color definitionss ┃
|
|
# ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
|
|
|
|
|
|
|
|
# ┌──────────────┐
|
|
# │ Key bindings │
|
|
# └──────────────┘
|
|
|
|
# prefix = Ctrl+A, Ctrl+A a to send it literally (like screen)
|
|
unbind C-b
|
|
set-option -g prefix C-a
|
|
bind a send-prefix
|
|
|
|
# reload config
|
|
bind r source-file "/etc/tmux.conf" \; display-message "config reloaded"
|
|
|
|
# Shift+S to type into all panes at once
|
|
bind-key S set-window-option synchronize-panes
|
|
|
|
# prefix then / for vertical split, - for horizontal
|
|
unbind-key %
|
|
unbind-key '"'
|
|
unbind-key /
|
|
unbind-key -
|
|
|
|
# split in the same directory as the source pane
|
|
bind-key / split-window -h -c "#{pane_current_path}"
|
|
bind-key - split-window -v -c "#{pane_current_path}"
|
|
|
|
# ┌─────────────┐
|
|
# │ Misc config │
|
|
# └─────────────┘
|
|
|
|
# mouse (scrolling, selection)
|
|
set-option -g mouse on
|
|
|
|
# I got room!
|
|
set-option -g history-limit 100000
|
|
|
|
# rename windows using escape sequences
|
|
set-window-option -g automatic-rename off
|
|
set-option -g allow-rename on
|
|
|
|
# so pagers don't blank the screen
|
|
set-option -g alternate-screen off
|
|
|
|
# True color
|
|
set-option -ga terminal-overrides ",xterm*:Tc"
|
|
|
|
# waiting for escape sequences introduces delays in vim/kak/hx
|
|
set-option -s escape-time 0
|
|
|
|
# ╭───────────╮
|
|
# │ Statusbar │
|
|
# ╰───────────╯
|
|
|
|
# enable the statusbar and set some stuff
|
|
set-option -g status on
|
|
set-option -g status-justify "left"
|
|
set-option -g status-left-style none
|
|
set-option -g status-left-length "80"
|
|
set-option -g status-right-style none
|
|
set-option -g status-right-length "80"
|
|
set-window-option -g window-status-separator ""
|
|
|
|
# statusbar background color
|
|
set-option -g status-style bg=$T0B
|
|
|
|
# shortened hostname on the left
|
|
set-option -g status-left "#[bg=$T1F,fg=$T1B] #{=3:host_short} #[bg=$T0B] "
|
|
|
|
# window list in the middle
|
|
set-window-option -g window-status-current-format "#[bg=$T2B,fg=$T2F] #I #{p-10:#{s/ *\\(.*//:#{=10:window_name}}} #{?window_zoomed_flag,#[bg=$TZB#,fg=$TZF]Z,}#{?pane_synchronized,#[bg=$TSB#,fg=$TSF]S,}#[bg=$T0B] "
|
|
set-window-option -g window-status-format "#[bg=$T1B,fg=$T1F]#{?window_bell_flag,#[bg=$T2B#,noreverse] , }#[bg=$T1B,fg=$T1F]#I #{p-10:#{s/ *\\(.*//:#{=10:window_name}}} #{?window_zoomed_flag,#[bg=$TZB#,fg=$TZF]Z,}#{?pane_synchronized,#[bg=$TSB#,fg=$TSF]S,}#[bg=$T0B] "
|
|
|
|
# clock on the right
|
|
set-option -g status-right " #[bg=$T1F,fg=$T1B] %H:%M "
|
|
|
|
# ╭────────────╮
|
|
# │ Misc stuff │
|
|
# ╰────────────╯
|
|
|
|
# pane borders
|
|
set-option -g pane-border-lines heavy
|
|
set-option -g pane-border-indicators arrows
|
|
set-option -g pane-active-border-style fg=$T1F
|
|
set-option -g pane-border-style fg=$T1B
|
|
|
|
# tmux messages
|
|
set-option -g message-style bg=$T2B,fg=$T2F
|
|
|
|
# pane numbers visible with ^A q
|
|
set-option -g display-panes-active-colour $T1F
|
|
set-option -g display-panes-colour $T2F
|