This commit is contained in:
sudacode 2025-05-03 22:51:18 -07:00
parent fbe79f77a6
commit 5aa60e41cb
Signed by: sudacode
SSH Key Fingerprint: SHA256:lT5C2bB398DcX6daCF/gYFNSTK3y+Du3oTGUnYzfTEw
2 changed files with 163 additions and 0 deletions

1
.config/tmux/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
plugins/*

162
.config/tmux/tmux.conf Normal file
View File

@ -0,0 +1,162 @@
# Some tweaks to the status line
set -g status-right '#{prefix_highlight} | %a %Y-%m-%d %H:%M'
# set -g window-status-current-style "underscore"
# If running inside tmux ($TMUX is set), then change the status line to red
# %if #{TMUX}
# set -g status-bg red
# %endif
# Enable RGB colour if running in xterm(1)
set-option -sa terminal-overrides ",xterm*:Tc"
# Change the default $TERM to tmux-256color
set -g default-terminal "xterm-256color"
# No bells at all
set -g bell-action none
# Keep windows around after they exit
# set -g remain-on-exit on
# Change the prefix key to C-a
# set -g prefix C-a
# unbind C-b
# bind C-a send-prefix
# Turn the mouse on, but without copy mode dragging
set -g mouse on
# unbind -n MouseDrag1Pane
# unbind -Tcopy-mode MouseDrag1Pane
bind -Tcopy-mode MouseDragEnd1Pane send -X copy-selection-no-clear
set -s set-clipboard external
# Some extra key bindings to select higher numbered windows
bind F1 selectw -t:10
bind F2 selectw -t:11
bind F3 selectw -t:12
bind F4 selectw -t:13
bind F5 selectw -t:14
bind F6 selectw -t:15
bind F7 selectw -t:16
bind F8 selectw -t:17
bind F9 selectw -t:18
bind F10 selectw -t:19
bind F11 selectw -t:20
bind F12 selectw -t:21
# A key to toggle between smallest and largest sizes if a window is visible in
# multiple places
bind F set -w window-size
# Keys to toggle monitoring activity in a window and the synchronize-panes option
bind m set monitor-activity
bind y set synchronize-panes\; display 'synchronize-panes #{?synchronize-panes,on,off}'
unbind C-Space
set -g prefix C-Space
bind C-Space send-prefix
set -g mouse on
set-option -g history-limit 5000
bind \` switch-client -t'{marked}'
set -g base-index 1
setw -g pane-base-index 1
set -g renumber-windows on
# rebind horizontal and vertical split to Prefix (C-Space) + | and - respectively
bind | split-window -hc "#{pane_current_path}"
bind - split-window -vc "#{pane_current_path}"
# spaw left and right windows
bind -r "<" swap-window -d -t -1
bind -r ">" swap-window -d -t +1
bind Space last-window
# resize with Prefix + C-h/j/k/l
bind -r C-j resize-pane -D 15
bind -r C-k resize-pane -U 15
bind -r C-h resize-pane -L 15
bind -r C-l resize-pane -R 15
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
set-window-option -g mode-keys vi
set -g mode-keys vi
set -g status-keys vi
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'christoomey/vim-tmux-navigator'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'alexwforsythe/tmux-which-key'
# set -g @plugin 'tmux-plugins/tmux-prefix-highlight'
# # dracula config
# set -g @plugin 'dracula/tmux'
# set -g @dracula-plugins "time"
# set -g @dracula-show-powerline true
# set -g @dracula-show-flags true
# set -g @dracula-show-left-icon session
# set -g @dracula-show-timezone false
# available plugins: battery, cpu-usage, git, gpu-usage, ram-usage, tmux-ram-usage, network, network-bandwidth, network-ping, ssh-session, attached-clients, network-vpn, weather, time, mpc, spotify-tui, playerctl, kubernetes-context, synchronize-panes
# set -g @dracula-plugins "git ssh-session"
# set -g @plugin 'catppuccin/tmux#v2.1.3' # See https://github.com/catppuccin/tmux/tags for additional tags
run ~/.config/tmux/plugins/catppuccin/tmux/catppuccin.tmux
set -g @catppuccin_flavor 'macchiato' # latte, frappe, macchiato or mocha
# Menu styling options
set -ogq @catppuccin_menu_selected_style "fg=#{@thm_fg},bold,bg=#{@thm_overlay_0}"
# Pane styling options
set -ogq @catppuccin_pane_status_enabled "yes" # set to "yes" to enable
set -ogq @catppuccin_pane_border_status "off" # set to "yes" to enable
set -ogq @catppuccin_pane_border_style "fg=#{@thm_overlay_0}"
set -ogq @catppuccin_pane_active_border_style "##{?pane_in_mode,fg=#{@thm_lavender},##{?pane_synchronized,fg=#{@thm_mauve},fg=#{@thm_lavender}}}"
set -ogq @catppuccin_pane_left_separator "█"
set -ogq @catppuccin_pane_middle_separator "█"
set -ogq @catppuccin_pane_right_separator "█"
set -ogq @catppuccin_pane_color "#{@thm_green}"
set -ogq @catppuccin_pane_background_color "#{@thm_surface_0}"
set -ogq @catppuccin_pane_default_text "##{b:pane_current_path}"
set -ogq @catppuccin_pane_default_fill "number"
set -ogq @catppuccin_pane_number_position "left" # right, left
set -ogq @catppuccin_window_status_style "rounded" # basic, rounded, slanted, custom, or none
set -ogq @catppuccin_window_text_color "#{@thm_surface_0}"
set -ogq @catppuccin_window_number_color "#{@thm_overlay_2}"
set -ogq @catppuccin_window_text " #T"
set -ogq @catppuccin_window_number "#I"
set -ogq @catppuccin_window_current_text_color "#{@thm_surface_1}"
set -ogq @catppuccin_window_current_number_color "#{@thm_mauve}"
set -ogq @catppuccin_window_current_text " #T"
set -ogq @catppuccin_window_current_number "#I"
set -ogq @catppuccin_window_number_position "left"
set -ogq @catppuccin_window_flags "icon" # none, icon, or text
set -ogq @catppuccin_window_flags_icon_last " 󰖰" # -
set -ogq @catppuccin_window_flags_icon_current " 󰖯" # *
set -ogq @catppuccin_window_flags_icon_zoom " 󰁌" # Z
set -ogq @catppuccin_window_flags_icon_mark " 󰃀" # M
set -ogq @catppuccin_window_flags_icon_silent " 󰂛" # ~
set -ogq @catppuccin_window_flags_icon_activity " 󱅫" # #
set -ogq @catppuccin_window_flags_icon_bell " 󰂞" # !
# Matches icon order when using `#F` (`#!~[*-]MZ`)
set -ogq @catppuccin_window_flags_icon_format "##{?window_activity_flag,#{E:@catppuccin_window_flags_icon_activity},}##{?window_bell_flag,#{E:@catppuccin_window_flags_icon_bell},}##{?window_silence_flag,#{E:@catppuccin_window_flags_icon_silent},}##{?window_active,#{E:@catppuccin_window_flags_icon_current},}##{?window_last_flag,#{E:@catppuccin_window_flags_icon_last},}##{?window_marked_flag,#{E:@catppuccin_window_flags_icon_mark},}##{?window_zoomed_flag,#{E:@catppuccin_window_flags_icon_zoom},} "
# Status line options
set -ogq @catppuccin_status_left_separator ""
set -ogq @catppuccin_status_middle_separator ""
set -ogq @catppuccin_status_right_separator "█"
set -ogq @catppuccin_status_connect_separator "yes" # yes, no
set -ogq @catppuccin_status_fill "icon"
set -ogq @catppuccin_status_module_bg_color "#{@thm_surface_0}"
# allow nvim images
set -gq allow-passthrough on
set -g visual-activity off
run '~/.config/tmux/plugins/tpm/tpm'