Catppuccin for Tmux
In order to have the icons displayed correctly please use / update your favorite patched font. If you do not have a patched font installed, you can override or remove any icon. Check the documentation bellow on the options available.
- Install TPM
- Add the Catppuccin plugin:
set -g @plugin 'catppuccin/tmux'
# ...alongside
set -g @plugin 'tmux-plugins/tpm'
- (Optional) Set your preferred flavour, it defaults to
"mocha"
:
set -g @catppuccin_flavour 'latte' # or frappe, macchiato, mocha
- Copy your desired theme's configuration contents into your Tmux config (usually stored at
~/.tmux.conf
) - Reload Tmux by either restarting the session or reloading it with
tmux source-file ~/.tmux.conf
This is a diagram on how the theme is split between it's components.
All flavours support certain levels of customization that match our Catppuccin Style Guide. To add these customizations, add any of the following options to your Tmux configuration.
set -g @catppuccin_window_left_separator "β"
set -g @catppuccin_window_middle_separator "β"
set -g @catppuccin_window_right_separator "β"
set -g @catppuccin_window_number_position "left"
Values:
- left - the number will be on the left part of the window
- right - the number will be on the right part of the window
set -g @catppuccin_window_status_enable "yes"
Values:
- yes - this will enable the window status part
- no - this will disable the window status part
set -g @catppuccin_window_status_icon_enable "yes"
Values:
- yes - this will replace the windows status text with icons
- no - this will keep the windows status in text format
set -g @catppuccin_icon_window_last "σ°°"
set -g @catppuccin_icon_window_current "σ°―"
set -g @catppuccin_icon_window_zoom "σ°"
set -g @catppuccin_icon_window_mark "σ°"
set -g @catppuccin_icon_window_silent "σ°"
set -g @catppuccin_icon_window_activity "σ°²"
set -g @catppuccin_icon_window_bell "σ°"
set -g @catppuccin_window_default_fill "number"
Values:
- number - only the number of the window part will have color
- all - the entire window part will have the same color
- none - the entire window part will have no color
set -g @catppuccin_window_default_text "color" # text color
set -g @catppuccin_window_default_background "color"
Values:
- color - a hexadecimal color value
set -g @catppuccin_window_default_text "#{b:pane_current_path}" # use "#W" for application instead of directory
set -g @catppuccin_window_current_fill "number"
Values:
- number - only the number of the window part will have color
- all - the entire window part will have the same color
- none - the entire window part will have no color
set -g @catppuccin_window_current_color "color" # text color
set -g @catppuccin_window_current_background "color"
Values:
- color - a hexadecimal color value
set -g @catppuccin_window_current_text "#{b:pane_current_path}" # use "#W" for application instead of directory
set -g @catppuccin_window_current_format_directory_text "#{b:pane_current_path}"
Use this to overide the way the current directory is displayed.
set -g @catppuccin_window_format_directory_text "#{b:pane_current_path}"
Use this to overide the way the directory is displayed.
set -g @catppuccin_pane_border_style "fg=blue" # Use a value compatible with the standard tmux 'pane-border-style'
set -g @catppuccin_pane_active_border_style "fg=red" # Use a value compatible with the standard tmux 'pane-border-active-style'
set -g @catppuccin_status_left_separator "ξΆ"
set -g @catppuccin_status_right_separator "β"
set -g @catppuccin_status_right_separator_inverse "no"
Values:
- yes - the colors will be inverted for the right separator
- no - the colors will not be inverted for the right separator
set -g @catppuccin_status_connect_separator "yes"
Values:
- yes - the background color of the separator will not blend in with the brackground color of tmux
- no - the background color of the separator will blend in with the brackground color of tmux
set -g @catppuccin_status_fill "icon"
Values:
- icon - only the icon of the module will have color
- all - the entire module will have the same color
tmux_orange="#fab387"
set -g @catppuccin_pane_status_enabled "yes"
set -g @catppuccin_pane_border_status "top"
set -g @catppuccin_pane_left_separator "ξΆ"
set -g @catppuccin_pane_right_separator "ξ΄"
set -g @catppuccin_pane_middle_separator "β "
set -g @catppuccin_pane_number_position "left"
set -g @catppuccin_pane_default_fill "number"
set -g @catppuccin_pane_default_text "#{b:pane_current_path}"
set -g @catppuccin_pane_border_style "fg=$tmux_orange"
set -g @catppuccin_pane_active_border_style "fg=$tmux_orange"
set -g @catppuccin_pane_color "$tmux_orange"
set -g @catppuccin_pane_background_color "$tmux_orange"
set -g @catppuccin_status_modules_right "application session"
set -g @catppuccin_status_modules_left ""
Provide a list of modules and the order in which you want them to appear in the status.
Available modules:
- application - display the current window running application
- directory - display the basename of the current window path
- session - display the number of tmux sessions running
- user - display the username
- host - display the hostname
- date_time - display the date and time
- battery - display the battery
Every module (except the module "session") supports the following overrides:
set -g @catppuccin_[module_name]_icon "icon"
set -g @catppuccin_[module_name]_color "color"
set -g @catppuccin_[module_name]_text "text"
set -g @catppuccin_[module_name]_[option] "null"
This is for the situation where you want to remove the icon from a module. Ex:
set -g @catppuccin_date_time_icon "null"
This module depends on tmux-battery.
The prefered way to install tmux-battery is using TPM.
Load tmux-battery after you load catppuccin.
set -g @plugin 'catppuccin/tmux'
...
set -g @plugin 'tmux-plugins/tmux-battery'
Add the battery module to the status modules list.
set -g @catppuccin_status_modules_right "... battery ..."
This module depends on tmux-cpu.
The prefered way to install tmux-cpu is using TPM.
Load tmux-cpu after you load catppuccin.
set -g @plugin 'catppuccin/tmux'
...
set -g @plugin 'tmux-plugins/tmux-cpu'
Add the cpu module to the status modules list.
set -g @catppuccin_status_modules_right "... cpu ..."
This module depends on tmux-weather.
The prefered way to install tmux-cpu is using TPM.
Load tmux-weather after you load catppuccin.
set -g @plugin 'catppuccin/tmux'
...
set -g @plugin 'xamut/tmux-weather'
Add the weather module to the status modules list.
set -g @catppuccin_status_modules_right "... weather ..."
It is possible to add a new custom module or overrite any of the existing modules.
Look into custom/README.md for more details.
Any file added to the custom folder will be preserved when updating catppuccin.
Below are provided a few configurations as examples or starting points.
Note: When switching between configurations run:
tmux kill-server
In order to kill the tmux server and clear all global variables.
set -g @catppuccin_window_right_separator "β "
set -g @catppuccin_window_number_position "right"
set -g @catppuccin_window_middle_separator " | "
set -g @catppuccin_window_default_fill "none"
set -g @catppuccin_window_current_fill "all"
set -g @catppuccin_status_modules_right "application session user host date_time"
set -g @catppuccin_status_left_separator "β"
set -g @catppuccin_status_right_separator "β"
set -g @catppuccin_date_time_text "%Y-%m-%d %H:%M:%S"
set -g @catppuccin_window_left_separator "ξΊβ"
set -g @catppuccin_window_right_separator "βξΌ "
set -g @catppuccin_window_number_position "right"
set -g @catppuccin_window_middle_separator " ξΊβ"
set -g @catppuccin_window_default_fill "number"
set -g @catppuccin_window_current_fill "number"
set -g @catppuccin_window_current_text "#{pane_current_path}"
set -g @catppuccin_status_modules_right "application session date_time"
set -g @catppuccin_status_left_separator "ξΆ"
set -g @catppuccin_status_right_separator " ξΆ"
set -g @catppuccin_status_right_separator_inverse "yes"
set -g @catppuccin_status_fill "all"
set -g @catppuccin_status_connect_separator "no"
set -g @catppuccin_window_left_separator "ξΆ"
set -g @catppuccin_window_right_separator "ξ΄ "
set -g @catppuccin_window_middle_separator " β"
set -g @catppuccin_window_number_position "right"
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 -g @catppuccin_status_modules_right "directory user host session"
set -g @catppuccin_status_left_separator " ξΆ"
set -g @catppuccin_status_right_separator "ξ΄"
set -g @catppuccin_status_right_separator_inverse "no"
set -g @catppuccin_status_fill "icon"
set -g @catppuccin_status_connect_separator "no"
set -g @catppuccin_directory_text "#{pane_current_path}"
Copyright Β© 2021-present Catppuccin Org