Juhis' tmux configuration

This is my current tmux configuration, rendered with my config-renderer utility tool

Install plugins

Tmux Plugin Manager to install other plugins

set -g @plugin 'tmux-plugins/tpm'

catppuccin theme to make things look nice

set -g @plugin 'catppuccin/tmux'

tmux-resurrect for saving and restoring tmux sessions

set -g @plugin 'tmux-plugins/tmux-resurrect'

tmux-continuum to automate saving of sessions

set -g @plugin 'tmux-plugins/tmux-continuum'

Keybindings

Change the leader/prefix to ctrl-s

set -g prefix C-s

Configure leader-r to reload the configuration within a tmux session

unbind r
bind r source-file ~/.tmux.conf

Enable mouse interactions

set -g mouse on

split panes using | and - instead of % and "

bind | split-window -h
bind - split-window -v
unbind '"'
unbind %

switch panes using M-↑, M-↓, M-← and M-→ without the need to press leader first.

Note: M is usually Alt/Option

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

Appearance

Move the status bar to the top of the screen to clear clutter from the bottom when using TUI tools.

set-option -g status-position top

Catppuccin specific styling

Show window number after the name

set -g @catppuccin_window_number_position "right"

Set default and current fills for windows

set -g @catppuccin_window_default_fill "number"
set -g @catppuccin_window_default_text "#W"
set -g @catppuccin_window_current_fill "number"
set -g @catppuccin_window_current_text "#W"

Set status settings

set -g @catppuccin_status_modules_right "directory session"
set -g @catppuccin_status_fill "icon"
set -g @catppuccin_status_connect_separator "no"

Set directory text to current path

set -g @catppuccin_directory_text "#{pane_current_path}"

Initialize TMUX plugin manager

According to tpm documentation, this line should be at the end of the configuration

run '~/.tmux/plugins/tpm/tpm'