Shell environment initializers and docker containers
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

77 lines
3.1 KiB

# shell-inits tmux.conf
# Pastel theme (catppuccin macchiato palette), no plugins, no patched fonts.
# Works over ssh: clipboard is shared with the local terminal via OSC 52
# (supported by kitty, wezterm, iterm2, alacritty, windows terminal, ...).
# --- base --------------------------------------------------------------------
set -g default-command /usr/bin/zsh
set -g default-terminal "tmux-256color"
# UTF-8: the tmux server must inherit a UTF-8 locale (zshenv exports a
# C.UTF-8 fallback); for tmux < 3.1 force the flag explicitly (3.1+ dropped it)
set -gq utf on
# truecolor + OSC52 passthrough for terminals whose terminfo lacks the entries
set -ga terminal-overrides ",*:Tc"
set -as terminal-overrides ',*:Ms=\E]52;c;%p2%s\7'
set -g escape-time 10
set -g history-limit 100000
set -g focus-events on
set -g display-time 2000
# --- copy mode (vi) ------------------------------------------------------------
setw -g mode-keys vi
set -g set-clipboard on
set -g allow-passthrough on
bind -T copy-mode-vi v send -X begin-selection
# yank -> tmux buffer (paste with prefix ]) AND the workstation clipboard via
# OSC 52; the helper writes to the client terminals directly, so it does not
# depend on tmux's own (version-dependent) clipboard emission
bind -T copy-mode-vi y send -X copy-pipe-and-cancel "~/.config/tmux/osc52-copy.sh"
# single-line scrolling in copy mode
bind -T copy-mode-vi WheelUpPane send-keys -X scroll-up
bind -T copy-mode-vi WheelDownPane send-keys -X scroll-down
# scrolling with shift + pgup/pgdn
bind -n S-Pageup copy-mode -u
bind -n S-Pagedown send-keys Pagedown
# Home/End for line navigation (emacs-style regardless of app)
bind -n Home send-key C-a
bind -n End send-key C-e
# --- windows / panes -----------------------------------------------------------
set -g mouse off
set -g status-interval 5
set -g automatic-rename on
set -g automatic-rename-format '#{b:pane_current_command}:#{b:pane_current_path}'
set -g renumber-windows on
# --- pastel theme (catppuccin macchiato) ---------------------------------------
# base #24273a mantle #1e2030 crust #181926 surface0 #363a4f surface1 #494d64
# text #cad3f5 muted #6e738d mauve #c6a0f6 blue #8aadf4 green #a6da95
# peach #f5a97f rosewater #f4dbd6
set -g status on
set -g status-position bottom
set -g status-style "bg=#24273a,fg=#cad3f5"
set -g status-left-length 40
set -g status-left "#[fg=#181926,bg=#c6a0f6,bold] #S #[fg=#c6a0f6,bg=#24273a] "
set -g status-right-length 80
set -g status-right "#[fg=#6e738d]#{s|$HOME|~|:pane_current_path} #[fg=#8aadf4]%H #[fg=#a6da95]%H:%M "
setw -g window-status-format "#[fg=#6e738d] #I #W "
setw -g window-status-current-format "#[fg=#181926,bg=#8aadf4,bold] #I #W "
setw -g window-status-separator ""
setw -g window-status-activity-style "fg=#f5a97f,bg=#24273a"
setw -g monitor-activity on
set -g visual-activity off
set -g mode-style "bg=#363a4f,fg=#cad3f5"
set -g message-style "bg=#363a4f,fg=#c6a0f6"
set -g message-command-style "bg=#363a4f,fg=#8aadf4"
set -g pane-border-style "fg=#6e738d"
set -g pane-active-border-style "fg=#c6a0f6"
set -g clock-mode-colour "#a6da95"