-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtmux.conf
More file actions
120 lines (95 loc) · 4.08 KB
/
Copy pathtmux.conf
File metadata and controls
120 lines (95 loc) · 4.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
# Terminal settings for proper color and symbol rendering
set-option -g default-terminal 'screen-256color'
set-option -g terminal-overrides ',xterm-256color:RGB'
# Remap the prefix key to backtick (`)
set-option -g prefix `
bind-key ` send-prefix
set -g mouse on
set -g history-limit 1000000
set-window-option -g automatic-rename off
set -g allow-rename off
# Reload configuration with `Prefix + R`
bind R source-file ~/.tmux.conf \; display "Tmux Reloaded!"
# Rename window with `Prefix + r`
bind r command-prompt -I "#W" "rename-window '%%'"
# act like vim
setw -g mode-keys vi
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
# Pane navigation with vim keys (without prefix)
bind -n C-h select-pane -L
bind -n C-j select-pane -D
bind -n C-k select-pane -U
bind -n C-l select-pane -R
# Tmux sessionizer
bind-key -r f display-popup -w 80% -h 70% -E "$HOME/dotfiles/tmux-sessionizer"
# Tmux command menu
bind-key : display-popup -w 50% -h 50% -E "$HOME/dotfiles/tmux-command-menu"
# Split panes intuitively (preserves current path)
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
# ---- Catppuccin Plugin Settings ----
# Choose your Catppuccin flavor: `latte`, `frappe`, `macchiato`, or `mocha`
set -g @catppuccin_flavour 'macchiato'
# Status bar separators and styling - Clean, no symbols
set -g @catppuccin_status_left_separator " "
set -g @catppuccin_status_right_separator " "
set -g @catppuccin_status_fill "icon"
set -g @catppuccin_status_background "default"
# Window styling - Clean, no fancy separators
set -g @catppuccin_window_left_separator ""
set -g @catppuccin_window_right_separator " "
set -g @catppuccin_window_middle_separator " "
set -g @catppuccin_window_number_position "right"
set -g @catppuccin_window_default_fill "number"
set -g @catppuccin_window_default_text "#W"
set -g @catppuccin_window_current_fill "number"
set -g @catppuccin_window_current_text "#W#{?window_zoomed_flag,(),}"
# Status modules - DevOps Toolbox style (minimal and clean)
set -g @catppuccin_status_modules_right "directory date_time"
set -g @catppuccin_status_modules_left "session"
set -g @catppuccin_status_right_separator_inverse "no"
set -g @catppuccin_status_connect_separator "no"
# Module customization - Clean style, no icons
set -g @catppuccin_session_icon ""
set -g @catppuccin_session_text "#S"
set -g @catppuccin_directory_icon ""
set -g @catppuccin_directory_text "#{b:pane_current_path}"
# Enhanced time display - 24-hour clock, no icon
set -g @catppuccin_date_time_icon ""
set -g @catppuccin_date_time_text "%a %b %d %H:%M"
set -g @catppuccin_date_time_color "#{thm_blue}"
set -g status-position top
# ---- Active Pane Settings ----
# Pane border styling
set -g pane-active-border-style 'fg=magenta,bg=default'
set -g pane-border-style 'fg=brightblack,bg=default'
# Better window numbering
set -g base-index 1
set -g pane-base-index 1
set-window-option -g pane-base-index 1
set-option -g renumber-windows on
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'christoomey/vim-tmux-navigator'
set -g @plugin 'jimeh/tmuxifier'
set -g @plugin 'catppuccin/tmux'
set -g @plugin 'tmux-plugins/tmux-cpu'
set -g @plugin 'tmux-plugins/tmux-battery'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
# Continuum settings
set -g @continuum-restore 'on'
set -g @continuum-save-interval '15'
# Build status line from catppuccin modules - DevOps Toolbox style
set -g status-left ""
set -ag status-left "#{E:@catppuccin_status_session}"
set -g status-right ""
set -ag status-right "#{E:@catppuccin_status_directory}"
set -ag status-right "#{E:@catppuccin_status_date_time}"
# Keep this line at the very bottom of tmux.conf
run '~/.tmux/plugins/tpm/tpm'
# Fix: force inactive windows to show window name (#W) not pane title (#T)
set -g window-status-format "#[fg=#cdd6f4,bg=#{@thm_surface_0}] #[fg=#cdd6f4,bg=#{@thm_surface_0}] #W #[fg=#11111b,bg=#{@thm_overlay_2}] #I "