set -g default-terminal "xterm-256color"
set -ag terminal-overrides ",xterm-256color:RGB"
set-option -g set-titles on
set-option -g set-titles-string '#S: #W'
set-window-option -g mode-keys vi
# set split keys, splits open in same dir as current
bind-key "'" split-window -v -c '#{?pane_path,#{pane_path},#{pane_current_path}}'
bind-key ";" split-window -h -c '#{?pane_path,#{pane_path},#{pane_current_path}}'
# switch panes w/ vimkeys
bind-key h select-pane -L
bind-key j select-pane -D
bind-key k select-pane -U
bind-key l select-pane -R
# resize panes w/ vimkeys
bind-key -T copy-mode-vi C-h resize-pane -L 1
bind-key -T copy-mode-vi C-j resize-pane -D 1
bind-key -T copy-mode-vi C-k resize-pane -U 1
bind-key -T copy-mode-vi C-l resize-pane -R 1
# fast window switching
bind w display-popup -E "tmux list-windows | cut -d ' ' -f 1-2 | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | cut -d \":\" -f 1 | xargs tmux select-window -t"
# use C-a prefix
set-option -g prefix C-a
unbind-key C-a
bind-key C-a send-prefix
# copy-mode
bind a copy-mode
# kill window
bind X kill-window
# 1 > 0
set -g base-index 1
set -g pane-base-index 1
# some good settings
set-option -g renumber-windows on # reindex when closing window
set -s escape-time 0 # fix vi mode delay
set -g history-limit 50000 # increase scrollback buffer size
set -g display-time 4000 # tmux messages are displayed for 4 seconds
setw -g aggressive-resize on # super useful when using "grouped sessions" and multi-monitor setup
set -g focus-events on # neovim likes this
set -g mouse on # enable mouse
# tmux fingers
unbind-key f
set -g @fingers-key f
set -g @fingers-shift-action ':open:'
run-shell ~/.config/tmux/tmux-fingers/tmux-fingers.tmux
# tmux theme
set-option -gq "status" "on"
set-option -gq "status-justify" "left"
set-option -gq "status-left-length" "100"
set-option -gq "status-right-length" "100"
set-option -gq "status-right-attr" "none"
set-option -gq "message-fg" "#aab2bf"
set-option -gq "message-bg" "#282c34"
set-option -gq "message-command-fg" "#aab2bf"
set-option -gq "message-command-bg" "#282c34"
set-option -gq "status-attr" "none"
set-option -gq "status-left-attr" "none"
set-window-option -gq "window-status-fg" "#282c34"
set-window-option -gq "window-status-bg" "#282c34"
set-window-option -gq "window-status-attr" "none"
set-window-option -gq "window-status-activity-bg" "#282c34"
set-window-option -gq "window-status-activity-fg" "#282c34"
set-window-option -gq "window-status-activity-attr" "none"
set-window-option -gq "window-status-separator" ""
set-option -gq "window-style" "fg=#aab2bf"
set-option -gq "window-active-style" "fg=#aab2bf"
set-option -gq "pane-border-style" "fg=#282c34"
set-option -gq "pane-active-border-style" "bg=default,fg=#98c379"
set-option -gq "display-panes-active-colour" "#e5c07b"
set-option -gq "display-panes-colour" "#61afef"
set-option -gq "status-bg" "#282c34"
set-option -gq "status-fg" "#aab2bf"
set-option -gq "status-right" ""
set-option -gq "status-left" "#[fg=#282c34,bg=#98c379,bold] #S #{prefix_highlight}#[fg=#98c379,bg=#282c34,nobold,nounderscore,noitalics]"
set-option -gq "window-status-format" "#[fg=#282c34,bg=#282c34,nobold,nounderscore,noitalics]#[fg=#aab2bf,bg=#282c34] #I #W #[fg=#282c34,bg=#282c34,nobold,nounderscore,noitalics]"
set-option -gq "window-status-current-format" "#[fg=#282c34,bg=#3e4452,nobold,nounderscore,noitalics]#[fg=#aab2bf,bg=#3e4452,nobold] #I #W #[fg=#3e4452,bg=#282c34,nobold,nounderscore,noitalics]"
set-window-option -g mode-style "bg=#98c379,fg=#282c34"