mirror of
https://github.com/Lissy93/dotfiles.git
synced 2024-11-22 07:23:10 +01:00
127 lines
4.8 KiB
Plaintext
127 lines
4.8 KiB
Plaintext
|
|
|
|
######################################################################
|
|
# Tmux Configuration File (~/.tmux.conf) #
|
|
######################################################################
|
|
# Config for Tmux multiplexer (requires version >= v2.4) #
|
|
# Sets preferences, keybindings and configures plugins #
|
|
# For docs and more info, see: https://github.com/lissy93/dotfiles #
|
|
# #
|
|
# Licensed under MIT (C) Alicia Sykes 2022 <https://aliciasykes.com> #
|
|
######################################################################
|
|
|
|
|
|
######################################################################
|
|
# Basics #
|
|
######################################################################
|
|
|
|
# Add a secondary prefix key (Ctrl+A as well as Ctrl+B)
|
|
|
|
# Set Tmux prefix keys (Ctrl+B or `)
|
|
set-option -g prefix C-b
|
|
set-option -g prefix2 `
|
|
|
|
# Use vim keybindings in copy mode
|
|
setw -g mode-keys vi
|
|
|
|
# Allow mouse support
|
|
set -g mouse on
|
|
|
|
# Use wider color pallete
|
|
set -g default-terminal screen-256color
|
|
|
|
# Set bigger history limit
|
|
set -g history-limit 20000
|
|
|
|
# Set Esc delay after prefix
|
|
set -sg escape-time 20
|
|
|
|
# Keep Tmux alive when the initial command is finished
|
|
set -g remain-on-exit off
|
|
|
|
# Sets parent terminal title, same as current Tmux window
|
|
set -g set-titles on
|
|
set -g set-titles-string "#I:#W"
|
|
|
|
# Update default binding of `Enter` to also use copy-pipe
|
|
unbind -T copy-mode-vi Enter
|
|
bind-key -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel "xclip -selection c"
|
|
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -in -selection clipboard"
|
|
|
|
|
|
######################################################################
|
|
# Navigation #
|
|
######################################################################
|
|
|
|
# Allow Alt+Arrow to switch pains
|
|
bind -n M-Left select-pane -L
|
|
bind -n M-Right select-pane -R
|
|
bind -n M-Up select-pane -U
|
|
bind -n M-Down select-pane -D
|
|
|
|
# Split window horizontally (h) / veritcally (v)
|
|
bind v split-window -v
|
|
bind h split-window -h
|
|
|
|
# Activity Monitoring (for when something happens in another pain)
|
|
set -g monitor-activity on
|
|
set -g visual-activity on
|
|
|
|
|
|
######################################################################
|
|
# Plugin Imports and Configurations #
|
|
######################################################################
|
|
|
|
# Set install location for plugins
|
|
set-environment -g TMUX_PLUGIN_MANAGER_PATH "${XDG_DATA_HOME}/tmux/plugins"
|
|
|
|
# Install productivity plugins
|
|
set -g @plugin 'tmux-plugins/tmux-sessionist' # Easily manage sessions
|
|
set -g @plugin 'tmux-plugins/tmux-continuum' # Contineous saves environment for next time
|
|
set -g @plugin 'tmux-plugins/tmux-resurrect' # Restart previous environment on launch
|
|
set -g @plugin 'tmux-plugins/tmux-sidebar' # Shows file tree on the left, `tab`
|
|
set -g @plugin 'tmux-plugins/tmux-open' # Opens highlighted addresses / files: `o`
|
|
set -g @plugin 'jaclu/tmux-menus' # Context menus for common tasks: `#`
|
|
set -g @plugin 'laktak/extrakto' # Clipboard copy and output completions
|
|
set -g @plugin 'tmux-plugins/tmux-yank' # Save text to system clipboard
|
|
|
|
# Install status bar plugins
|
|
set -g @plugin 'xamut/tmux-weather'
|
|
set -g @plugin 'tmux-plugins/tmux-cpu'
|
|
set -g @plugin 'tmux-plugins/tmux-battery'
|
|
set -g @plugin 'MunifTanjim/tmux-mode-indicator'
|
|
set -g @plugin 'tmux-plugins/tmux-online-status'
|
|
set -g @plugin 'kristijanhusak/tmux-simple-git-status'
|
|
|
|
# Set status line content
|
|
set -g status-interval 2
|
|
set -g status-right-length 180
|
|
set -g status-right '#{tmux_mode_indicator} Online: #{online_status} | #{weather} | %a %d/%m/%Y %H:%M | #{battery_icon_status} #{battery_percentage}'
|
|
set -g status-left-length 180
|
|
set -g status-left "#{cpu_bg_color} CPU: #{cpu_percentage} #{cpu_temp_bg_color} #{cpu_temp_icon} #{cpu_temp}#{cpu_temp_format} |#{cpu_bg_color} MEM: #{ram_percentage} #[default]| #{simple_git_status}"
|
|
|
|
# More plugin options
|
|
set -g @menus_trigger '#'
|
|
|
|
set -g @cpu_low_bg_color "#[bg=#88ff88]"
|
|
set -g @cpu_medium_bg_color "#[bg=3]"
|
|
set -g @cpu_high_bg_color "#[bg=1]"
|
|
set -g @cpu_high_fg_color "#[bg=white]"
|
|
set -g @cpu_temp_format "%0.1f°"
|
|
set -g @cpu_temp_low_icon "❄️"
|
|
set -g @cpu_temp_medium_icon "🌡️"
|
|
set -g @cpu_temp_high_icon "🔥"
|
|
|
|
set -g @cpu_temp_low_bg_color "#[bg=#88ff88]"
|
|
set -g @cpu_temp_medium_bg_color "#[bg=3]"
|
|
set -g @cpu_temp_high_bg_color "#[bg=1]"
|
|
set -g @cpu_temp_high_fg_color "#[bg=white]"
|
|
|
|
set -g @ram_low_bg_color "#[bg=#88ff88]"
|
|
set -g @ram_medium_bg_color "#[bg=3]"
|
|
set -g @ram_high_bg_color "#[bg=1]"
|
|
set -g @ram_high_fg_color "#[bg=white]"
|
|
|
|
# Import TPM
|
|
run "${XDG_DATA_HOME}/tmux/plugins/tpm/tpm"
|