120 lines
5.0 KiB
Bash
120 lines
5.0 KiB
Bash
# Configure Tmux
|
|
set -g status-position top
|
|
set -g status-style "bg=#{@thm_bg}"
|
|
set -g status-justify "absolute-centre"
|
|
set -g prefix ^A
|
|
set -g base-index 1 # start indexing windows at 1 instead of 0
|
|
set -g detach-on-destroy off # don't exit from tmux when closing a session
|
|
set -g escape-time 0 # zero-out escape time delay
|
|
set -g history-limit 1000000 # increase history size (from 2,000)
|
|
set -g renumber-windows on # renumber all windows when any window is closed
|
|
set -g set-clipboard on # use system clipboard
|
|
setw -g mode-keys vi
|
|
setw -g mouse on
|
|
if-shell 'echo $TERM | grep -q "xterm-kitty"' \
|
|
'set -g default-terminal "kitty"; set -g terminal-overrides "xterm-kitty:Tc"'
|
|
if-shell 'grep -qi microsoft /proc/version' \
|
|
'set -g default-terminal "screen-256color"; set-option -sa terminal-overrides ",xterm-256color:RGB"'
|
|
|
|
set -g @plugin 'catppuccin/tmux'
|
|
set -g @plugin 'tmux-plugins/tpm'
|
|
set -g @plugin 'tmux-plugins/tmux-sensible'
|
|
set -g @plugin 'tmux-plugins/tmux-resurrect'
|
|
set -g @plugin 'tmux-plugins/tmux-continuum'
|
|
set -g @plugin 'tmux-plugins/tmux-online-status'
|
|
set -g @plugin 'tmux-plugins/tmux-battery'
|
|
#set -g @plugin 'sainnhe/tmux-fzf'
|
|
#set -g @plugin 'wfxr/tmux-fzf-url'
|
|
#set -g @plugin 'fcsonline/tmux-thumbs'
|
|
set -g @plugin 'tmux-plugins/tmux-yank'
|
|
set -g @plugin 'omerxx/tmux-sessionx'
|
|
#set -g @plugin 'omerxx/tmux-floax'
|
|
|
|
# Configure sessionx
|
|
set -g @sessionx-bind 'o'
|
|
#set -g @sessionx-bind-zo-new-window 'ctrl-y'
|
|
#set -g @sessionx-auto-accept 'off'
|
|
#set -g @sessionx-custom-paths '/Users/omerxx/dotfiles'
|
|
#set -g @sessionx-bind 'o'
|
|
#set -g @sessionx-x-path '~/dotfiles'
|
|
set -g @sessionx-window-height '85%'
|
|
set -g @sessionx-window-width '75%'
|
|
set -g @sessionx-zoxide-mode 'on'
|
|
#set -g @sessionx-custom-paths-subdirectories 'false'
|
|
set -g @sessionx-filter-current 'false'
|
|
|
|
# Configure Continuum
|
|
set -g @continuum-restore 'on'
|
|
#set -g @continuum-boot 'on' # Break the ressurect in my setup by saving at boot
|
|
|
|
# Configure Resurrect
|
|
set -g @resurrect-strategy-nvim 'session'
|
|
set -g @resurrect-capture-pane-contents 'on'
|
|
set -g @resurrect-processes 'ssh btop nvim lazygit yazi aichat spotify_player'
|
|
|
|
# Yazi image preview
|
|
set -g allow-passthrough on
|
|
set -ga update-environment TERM
|
|
set -ga update-environment TERM_PROGRAM
|
|
|
|
# Configure Catppuccin
|
|
set -g @catppuccin_flavor "macchiato"
|
|
set -g @catppuccin_status_background "none"
|
|
set -g @catppuccin_window_status_style "none"
|
|
set -g @catppuccin_pane_status_enabled "off"
|
|
set -g @catppuccin_pane_border_status "off"
|
|
|
|
## Configure Online
|
|
set -g @online_icon "ok"
|
|
set -g @offline_icon "nok"
|
|
|
|
## Keybinds
|
|
bind h select-pane -L
|
|
bind j select-pane -D
|
|
bind k select-pane -U
|
|
bind l select-pane -R
|
|
|
|
## status left look and feel
|
|
set -g status-left-length 100
|
|
set -g status-left ""
|
|
set -ga status-left "#{?client_prefix,#{#[bg=#{@thm_red},fg=#{@thm_bg},bold] #S },#{#[bg=#{@thm_bg},fg=#{@thm_green}] #S }}"
|
|
set -ga status-left "#[bg=#{@thm_bg},fg=#{@thm_overlay_0},none]│"
|
|
set -ga status-left "#[bg=#{@thm_bg},fg=#{@thm_maroon}] #{pane_current_command} "
|
|
set -ga status-left "#[bg=#{@thm_bg},fg=#{@thm_overlay_0},none]│"
|
|
set -ga status-left "#[bg=#{@thm_bg},fg=#{@thm_blue}] #{=/-32/...:#{s|$USER|~|:#{b:pane_current_path}}} "
|
|
set -ga status-left "#[bg=#{@thm_bg},fg=#{@thm_overlay_0},none]#{?window_zoomed_flag,│,}"
|
|
set -ga status-left "#[bg=#{@thm_bg},fg=#{@thm_yellow}]#{?window_zoomed_flag, zoom ,}"
|
|
|
|
## status right look and feel
|
|
set -g status-right-length 100
|
|
set -g status-right ""
|
|
set -ga status-right "#{?#{e|>=:10,#{battery_percentage}},#{#[bg=#{@thm_red},fg=#{@thm_bg}]},#{#[bg=#{@thm_bg},fg=#{@thm_pink}]}} #{battery_icon} #{battery_percentage} "
|
|
set -ga status-right "#[bg=#{@thm_bg},fg=#{@thm_overlay_0}, none]│"
|
|
set -ga status-right "#[bg=#{@thm_bg}]#{?#{==:#{online_status},ok},#[fg=#{@thm_mauve}] on ,#[fg=#{@thm_red},bold]#[reverse] off }"
|
|
set -ga status-right "#[bg=#{@thm_bg},fg=#{@thm_overlay_0}, none]│"
|
|
set -ga status-right "#[bg=#{@thm_bg},fg=#{@thm_blue}] %Y-%m-%d %H:%M "
|
|
|
|
# pane border look and feel
|
|
setw -g pane-border-status top
|
|
setw -g pane-border-format ""
|
|
setw -g pane-active-border-style "bg=#{@thm_bg},fg=#{@thm_overlay_0}"
|
|
setw -g pane-border-style "bg=#{@thm_bg},fg=#{@thm_surface_0}"
|
|
setw -g pane-border-lines single
|
|
|
|
# window look and feel
|
|
set -wg automatic-rename on
|
|
set -g automatic-rename-format "Window"
|
|
|
|
set -g window-status-format " #I#{?#{!=:#{window_name},Window},: #W,} "
|
|
set -g window-status-style "bg=#{@thm_bg},fg=#{@thm_rosewater}"
|
|
set -g window-status-last-style "bg=#{@thm_bg},fg=#{@thm_peach}"
|
|
set -g window-status-activity-style "bg=#{@thm_red},fg=#{@thm_bg}"
|
|
set -g window-status-bell-style "bg=#{@thm_red},fg=#{@thm_bg},bold"
|
|
set -gF window-status-separator "#[bg=#{@thm_bg},fg=#{@thm_overlay_0}]│"
|
|
|
|
set -g window-status-current-format " #I#{?#{!=:#{window_name},Window},: #W,} "
|
|
set -g window-status-current-style "bg=#{@thm_peach},fg=#{@thm_bg},bold"
|
|
|
|
run '/usr/share/tmux-plugin-manager/tpm'
|
|
run '~/.tmux/plugins/catppuccin/tmux/catppuccin.tmux'
|