diff --git a/tmux/.config/tmux/tmux.conf b/tmux/.config/tmux/tmux.conf new file mode 100644 index 0000000..43c0d0b --- /dev/null +++ b/tmux/.config/tmux/tmux.conf @@ -0,0 +1,72 @@ +# vim:ft=config +# tmux.conf + +# Reload tmux configuration +unbind r +unbind C-r +bind r source-file ~/.config/tmux/tmux.conf \; display "Reloaded ~/.config/tmux/tmux.conf" +bind C-r source-file ~/.config/tmux/tmux.conf \; display "Reloaded ~/.config/tmux/tmux.conf" + +# Split window and retain current directory +bind % split-window -h -c "#{pane_current_path}" +bind '"' split-window -v -c "#{pane_current_path}" + +# Set pane and window indices to start from 1 +setw -g pane-base-index 1 +set -g base-index 1 +set -g renumber-windows on + +# Increase scrollback buffer +set-option -g history-limit 10000 + +# Enable mouse support +set -g mouse on + +# Set terminal options +set-option -g default-terminal "tmux-256color" +# set-option -sa terminal-features ",xterm-kitty:RGB" +set-option -sa terminal-overrides ",alacritty*:Tc" + +# Window resizing behavior +set-option -g aggressive-resize off +set-option -g window-size smallest + +# New window and retain current directory +bind c new-window -c "#{pane_current_path}" +bind -n C-t new-window -c "#{pane_current_path}" +bind -n C-q kill-window +bind -n C-S-t new-window -c "#{pane_current_path}" + +# Window navigation with PageUp/PageDown +unbind -n C-PageUp +unbind -n C-PageDown +bind -n C-PageUp previous-window +bind -n C-PageDown next-window + +# Status bar configuration +set -g status-interval 1 +set -g status-style "bg=terminal" +# set -g status-left "#[fg=color15,bold,bg=color0]  #S " +# set -g status-right "#[fg=color5,bold] 󰃭 %a %Y-%m-%d #[fg=color15,bold] 󰅐 %H:%M " +set -g status-left "" +set -g status-right "" +set -g status-justify left +set -g status-left-length 200 +set -g status-right-length 200 +set -g status-position top + +# Window status formatting +set -g window-status-current-format "#[fg=color3]❱#[fg=terminal,bold] #I #W " +set -g window-status-format "#[fg=color8,bold]❱ #I #W " +# set -g window-status-separator "#[fg=color8]|" +# set -g window-status-separator "#[fg=color8]│" +# set -g window-status-separator "#[fg=color8]┃" + +# Message and mode styling +set -g message-command-style "bg=default,fg=yellow" +set -g message-style "bg=default,fg=yellow" +set -g mode-style "bg=default,fg=yellow" + +# Pane border styling +set -g pane-active-border-style "fg=magenta" +set -g pane-border-style "fg=brightblack"