76 lines
4.3 KiB
Bash
76 lines
4.3 KiB
Bash
#===============================================================================
|
|
# tmux.conf for niblock || source with <C-b>r
|
|
#===============================================================================
|
|
#===============================================================================
|
|
# General Settings
|
|
#===============================================================================
|
|
set -g prefix C-b # Remap prefix key
|
|
set -g default-terminal "tmux-256color" # Set terminal
|
|
set -ga terminal-features ",xterm-256color:RGB" # Enable additional features
|
|
set -g mouse on # Enable mouse
|
|
set -sg escape-time 0 # Delay time
|
|
set -g display-time 2000 # Message display time
|
|
set -g base-index 1 # Start windows at 1
|
|
set -g pane-base-index 1 # Start panes at 1
|
|
set -g renumber-windows on # Renumber dynamically
|
|
#===============================================================================
|
|
# Colors & Styling
|
|
#===============================================================================
|
|
# Theme Colors - More found in themes/ directory
|
|
source -F "#{d:current_file}/themes/catppuccin-frappe.tmux"
|
|
# Status Bar
|
|
set -g status-style "fg=#{@thm_lavender} bg=#{@thm_bg}"
|
|
# Window List
|
|
set -g window-status-style "bg=#{@thm_surface_0} fg=#{@thm_lavender}"
|
|
set -g window-status-current-style "fg=#{@thm_surface_0} bg=#{@thm_lavender}"
|
|
# Panes
|
|
set -g pane-border-style "fg=#{@thm_bg} bg=terminal"
|
|
set -g pane-active-border-style "fg=#{@thm_lavender} bg=terminal"
|
|
set -g pane-border-lines "double"
|
|
set -g pane-border-indicators "arrows"
|
|
set -g pane-border-status "top"
|
|
# Command Line
|
|
set -g message-style "fg=#{@thm_red} bg=#{@thm_bg} bright"
|
|
# Menus
|
|
set -g menu-style "fg=#{@thm_fg}"
|
|
set -g menu-selected-style "fg=#{@thm_lavender} bg=#{@thm_bg}"
|
|
# Modes
|
|
set -g mode-style "fg=#{@thm_lavender} bg=terminal"
|
|
#===============================================================================
|
|
# Status Lines
|
|
#===============================================================================
|
|
set -wg monitor-activity on # Monitor window activity
|
|
set -g visual-activity off # No status line message
|
|
set -g allow-rename on # Disallow program renaming
|
|
set -g allow-set-title on
|
|
# TMUX Status Line
|
|
set -g status-interval 600
|
|
set -g status-left-length 40 # Left-side char length
|
|
set -g status-left "#[bright][ #h ] " # Left-side format
|
|
set -g window-status-format " #I " # Window-list format
|
|
set -g window-status-current-format " #I: #{pane_current_command} "
|
|
set -g status-right-length 80 # Right-side char length
|
|
WERR='#(echo -n "Error Fetching Weather Info")'
|
|
WEATHER='#(curl -s wttr.in/Buffalo?format="%%C+%%t+%%h+%%P%%20%%m" || $WERR)'
|
|
DATEISH='#(date +"%%A, %%B %d")'
|
|
set -g status-right "$WEATHER #[bright]// $DATEISH"
|
|
# Border Status Lines
|
|
set -g pane-border-format " [#{pane_current_path}] #{pane_current_command} "
|
|
#===============================================================================
|
|
# Key Bindings
|
|
#===============================================================================
|
|
set -g mode-keys vi # Vi-like key bindings
|
|
bind h select-pane -L # Pane movement: left
|
|
bind j select-pane -D # Pane movement: down
|
|
bind k select-pane -U # Pane movement: up
|
|
bind l select-pane -R # Pane movement: right
|
|
bind-key -r C-h select-window -t :- # Window movement: left
|
|
bind-key -r C-l select-window -t :+ # Window movement: right
|
|
bind -r H resize-pane -L 5 # Pane resize: +5 left
|
|
bind -r J resize-pane -D 5 # Pane resize: +5 down
|
|
bind -r K resize-pane -U 5 # Pane resize: +5 up
|
|
bind -r L resize-pane -R 5 # Pane resize: +5 right
|
|
bind | split-window -h -c "#{pane_current_path}" # Horizontal split
|
|
bind - split-window -v -c "#{pane_current_path}" # Vertical split
|
|
# Reload config file
|
|
bind r source-file ~/.config/tmux/tmux.conf \; display "!! Config Reloaded !!"
|