add gruvbox theme for tmux

This commit is contained in:
toniiz
2024-08-03 21:04:06 -07:00
parent 0595c11cfc
commit 4518cdacf8

View File

@@ -0,0 +1,147 @@
set -g default-terminal "screen-256color"
set -ga terminal-overrides ",xterm-256color*:Tc"
#set -g default-terminal "tmux-256color"
#set -ga terminal-overrides ",*256col*:Tc"
set -g prefix2 C-a # Secondary prefix
unbind-key C-b # free the original bind-key key
set-option -g prefix C-a # setting the prefix from C-b to C-a
bind-key C-a send-prefix
set-option -g base-index 1 # window index will start with 1
set-window-option -g pane-base-index 1 # pane index will start with 1
set-option -g renumber-windows on
bind-key | split-window -h -c "#{pane_current_path}" # allows you to open new pane with current path
bind-key _ split-window -v -c "#{pane_current_path}"
# nvim like movement
bind-key -r h select-pane -L # go left
bind-key -r j select-pane -D # go down
bind-key -r l select-pane -R # go right
bind-key -r k select-pane -U # go up
# kill pane without asking me to kill it!
unbind-key x # unbind-key “x” from its current job of “ask and then close”
bind-key x kill-pane # rebind-key it to just “close”
bind-key X kill-session # key combo for killing the entire session - <prefix> + shift + x
# Window: Movements
bind-key L last-window
bind-key -r C-h select-window -t :- # cycle through the windows for quick window selection
bind-key -r C-l select-window -t :+
# The default key binding are Ctr+ Up/Down/Left/Right for one row movements , Alt + Up/Down/Left/Right for five row movements.
# Let's add one more to the set (Vim way)
# Vim Style
bind-key -r H resize-pane -L 2 # resize a pane two rows at a time.
bind-key -r J resize-pane -D 2
bind-key -r K resize-pane -U 2
bind-key -r L resize-pane -R 2
# these settings are added for testing porpuses they were taken from the github-nvim-theme
# Undercurl
set -g default-terminal "${TERM}"
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm' # undercurl support
set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m' # underscore colours - needs tmux-3.0
# toggle mouse
set -g mouse on
# tpm plugins
#set -g @plugin 'egel/tmux-gruvbox'
#set -g @tmux-gruvbox 'dark' # or 'light'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'wfxr/tmux-fzf-url'
#set -g @plugin "arcticicestudio/nord-tmux"
#set -g @plugin 'odedlaz/tmux-onedark-theme'
#set -g @plugin 'jimeh/tmux-themepack'
#set -g @plugin 'srcery-colors/srcery-tmux'
# Official catppuccino theme
# ...alongside
set -g @plugin 'tmux-plugins/tpm'
#set -g @catppuccin_flavour 'macchiato' #'latte' # or frappe, macchiato, mocha
# this plugin is pretty cool but it does not work without Powerline fonts
#set -g @plugin 'Determinant/tmux-colortag'
#TMUX_COLORTAG_USE_POWERLINE=yes
# sets specific tmux theme
#set -g @themepack 'powerline/default/green'
set -g @plugin 'tmux-plugins/tmux-prefix-highlight'
set -g @plugin 'tmux-plugins/tmux-net-speed'
#set -g @plugin 'samoshkin/tmux-plugin-sysstat' # `sysstat_ntemp` and `sysstat_itemp` are temperatures of nvidia card and intel card, these scripts are available in my fork: https://github.com/sainnhe/tmux-plugin-sysstat
#source ~/.config/tmux/themes/Catppuccin.conf
#source ~/.config/tmux/themes/sonokai-shusia.tmux.conf
#source ~/.config/tmux/themes/nightfox.conf
# Initialize TMUX plugin manager (keep this line at the very bottom of the tmux.conf"
run '~/.tmux/plugins/tpm/tpm'
### theme settings ###
# window separators
set-option -wg window-status-separator ""
# monitor window changes
set-option -wg monitor-activity on
set-option -wg monitor-bell on
# set statusbar update interval
set-option -g status-interval 1
### colorscheme ###
# change window screen colors
set-option -wg mode-style bg="#fe8019",fg="#3c3836"
# default statusbar colors (terminal bg should be #282828)
set-option -g status-style bg=terminal,fg="#a89984"
# default window title colors
set-option -wg window-status-style bg="#3c3836",fg="#7c6f64"
# colors for windows with activity
set-option -wg window-status-activity-style bg="#3c3836",fg="#a89984"
# colors for windows with bells
set-option -wg window-status-bell-style bg="#3c3836",fg="#fe8019"
# active window title colors
set-option -wg window-status-current-style bg="#fe8019",fg="#3c3836"
# pane border
set-option -g pane-active-border-style fg="#fe8019"
set-option -g pane-border-style fg="#3c3836"
# message info
set-option -g message-style bg="#fe8019",fg="#3c3836"
# writing commands inactive
set-option -g message-command-style bg="#a89984",fg="#3c3836"
# pane number display
set-option -g display-panes-active-colour "#fe8019"
set-option -g display-panes-colour "#3c3836"
# clock
set-option -wg clock-mode-colour "#fe8019"
# copy mode highlighting
%if #{>=:#{version},3.2}
set-option -wg copy-mode-match-style "bg=#a89984,fg=#3c3836"
set-option -wg copy-mode-current-match-style "bg=#fe8019,fg=#3c3836"
%endif
# statusbar formatting
# "#fe8019" MUST be in lowercase here (conflicts with statusline alias otherwise)
set-option -g status-left "#[bg=#a89984, fg=#3c3836]#{?client_prefix,#[bg=#fe8019],#[bg=#a89984]} #{session_name} "
set-option -g status-right "#[bg=#3c3836, fg=#7c6f64] %Y-%m-%d %H:%M:%S #[bg=#a89984, fg=#3c3836]#{?client_prefix,#[bg=#fe8019],#[bg=#a89984]} #{host_short} "
set-option -wg window-status-current-format "#{?window_zoomed_flag,#[fg=default bold],#[fg=default]} #{window_index} #{window_name} "
set-option -wg window-status-format "#{?window_zoomed_flag,#[fg=default bold],#[fg=default]} #{window_index} #{window_name} "