Logo
Catppuccin for Tmux

## Content 1. [Themes](#themes) 2. [Installation](#installation) 3. [Overview](#overview) 4. [Configuration options](#configuration-options) 1. [Window](#window) 2. [Window default](#window-default) 3. [Window current](#window-current) 4. [Status](#status) 5. [Customizing modules](#customizing-modules) 6. [Battery module](#battery-module) 5. [Create a custom module](#create-a-custom-module) 6. [Configuration Examples](#configuration-examples) 1. [Config 1](#config-1) 2. [Config 2](#config-2) 3. [Config 3](#config-3) ## Themes - 🌻 [Latte](./catppuccin-latte.tmuxtheme) - πŸͺ΄ [FrappΓ©](./catppuccin-frappe.tmuxtheme) - 🌺 [Macchiato](./catppuccin-macchiato.tmuxtheme) - 🌿 [Mocha](./catppuccin-mocha.tmuxtheme) ## Installation In order to have the icons displayed correctly please use / update your favorite patched font or overwrite the defaults - refer to [Customize icons](#customize-icons) section. If you do not have patched font installed, you can use the [No patched fonts](#no-patched-fonts) status line theme. ### TPM 1. Install [TPM](https://github.com/tmux-plugins/tpm) 2. Add the Catppuccin plugin: ```bash set -g @plugin 'catppuccin/tmux' # ...alongside set -g @plugin 'tmux-plugins/tpm' ``` 3. (Optional) Set your preferred flavour, it defaults to `"mocha"`: ```bash set -g @catppuccin_flavour 'latte' # or frappe, macchiato, mocha ``` ### Manual 1. Copy your desired theme's configuration contents into your Tmux config (usually stored at `~/.tmux.conf`) 2. Reload Tmux by either restarting the session or reloading it with `tmux source-file ~/.tmux.conf` ## Overview ![Default](./assets/overview.png) This is a diagram on how the theme is split between it's components. ## Configuration options All flavours support certain levels of customization that match our [Catppuccin Style Guide][style-guide]. To add these customizations, add any of the following options to your Tmux configuration. ### Window #### Set the window left separator: ```sh set -g @catppuccin_window_left_separator "β–ˆ" ``` #### Set the window middle separator: ```sh set -g @catppuccin_window_middle_separator "β–ˆ" ``` #### Set the window right separator: ```sh set -g @catppuccin_window_right_separator "β–ˆ" ``` #### Position the number: ```sh 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 #### Enable window status: ```sh set -g @catppuccin_window_status_enable "yes" ``` Values: - yes - this will enable the window status part - no - this will disable the window status part #### Enable window status icons instead of text: ```sh 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 #### Override windows status icons ```sh 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 "σ°‚ž" ``` ### Window default #### Set the window default color fill: ```sh 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 #### Override the window default text: ```sh set -g @catppuccin_window_default_text "#{b:pane_current_path}" # use "#W" for application instead of directory ``` ### Window current #### Set the window current color fill: ```sh 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 #### Override the window current text: ```sh set -g @catppuccin_window_current_text "#{b:pane_current_path}" # use "#W" for application instead of directory ``` #### Set the current directory format ```sh set -g @catppuccin_window_current_format_directory_text "#{b:pane_current_path}" ``` Use this to overide the way the current directory is displayed. #### Set the directory format ```sh set -g @catppuccin_window_format_directory_text "#{b:pane_current_path}" ``` Use this to overide the way the directory is displayed. ### Status #### Set the status module left separator: ```sh set -g @catppuccin_status_left_separator "ξ‚Ά" ``` #### Set the status module right separator: ```sh set -g @catppuccin_status_right_separator "β–ˆ" ``` #### Set the status module right separator inverse: ```sh 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 the status connect separator: ```sh 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 the status module color fill: ```sh 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 #### Set the module list ```sh set -g @catppuccin_status_modules "application session" ``` 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](#battery-module) - display the battery ### Customizing modules Every module (except the module "session") supports the following overrides: #### Override the specific module icon ```sh set -g @catppuccin_[module_name]_icon "icon" ``` #### Override the specific module color ```sh set -g @catppuccin_[module_name]_color "color" ``` #### Override the specific module text ```sh set -g @catppuccin_[module_name]_text "text" ``` ### Battery module #### Requirements This module depends on [tmux-battery](https://github.com/tmux-plugins/tmux-battery/tree/master). #### Install The prefered way to install tmux-battery is using [TPM](https://github.com/tmux-plugins/tpm). #### Configure Load tmux-battery after you load catppuccin. ```sh set -g @plugin 'catppuccin/tmux' ... set -g @plugin 'tmux-plugins/tmux-battery' ``` Add the battery module to the status modules list. ```sh set -g @catppuccin_status_modules "... battery ..." ``` ## Create a custom module 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. ## Configuration Examples Below are provided a few configurations as examples or starting points. Note: When switching bettwen configurations run: ```sh tmux kill-server ``` In order to kill the tmux server and clear all global variables. ### Config 1 ![Default](./assets/config1.png) ```sh 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 "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" ``` ### Config 2 ![Default](./assets/config2.png) ```sh 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 "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" ``` ### Config 3 ![Default](./assets/config3.png) ```sh 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 "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}" ``` [style-guide]: https://github.com/catppuccin/catppuccin/blob/main/docs/style-guide.md ## πŸ’ Thanks to - [Pocco81](https://github.com/catppuccin) - [vinnyA3](https://github.com/vinnyA3) - [rogeruiz](https://github.com/rogeruiz)  

Copyright © 2021-present Catppuccin Org