dotfiles/tmux/tmux.conf

121 lines
4.6 KiB
Plaintext
Raw Normal View History

2022-03-16 00:38:47 +01:00
2022-10-09 23:55:25 +02:00
######################################################################
# 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 #
######################################################################
2022-08-29 00:15:04 +02:00
2022-03-16 00:38:47 +01:00
# Use vim keybindings in copy mode
setw -g mode-keys vi
2022-10-09 23:55:25 +02:00
# 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"
2022-03-16 00:38:47 +01:00
# 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"
2022-10-09 23:55:25 +02:00
######################################################################
# Navigation #
######################################################################
2022-03-16 00:38:47 +01:00
# 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
2022-10-09 23:55:25 +02:00
# Split window horizontally (h) / veritcally (v)
bind v split-window -v
bind h split-window -h
2022-03-16 00:38:47 +01:00
# Activity Monitoring (for when something happens in another pain)
set -g monitor-activity on
set -g visual-activity on
2022-10-09 23:55:25 +02:00
######################################################################
# Plugin Imports and Configurations #
######################################################################
2022-03-16 00:38:47 +01:00
2022-08-29 00:15:04 +02:00
# Set install location for plugins
set-environment -g TMUX_PLUGIN_MANAGER_PATH "${XDG_DATA_HOME}/tmux/plugins"
2022-03-16 00:38:47 +01:00
# 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
2022-08-29 00:15:04 +02:00
run "${XDG_DATA_HOME}/tmux/plugins/tpm/tpm"