- 🌻 Vulgaris
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 below on the options available.
- Install TPM
- Add the Bamboo plugin:
set -g @plugin 'emilkm/bamboo-tmux'
# ...alongside
set -g @plugin 'tmux-plugins/tpm'
- (Optional) Set your preferred flavor, it defaults to
"vulgaris"
:
set -g @bamboo_flavour 'vulgaris' # or TODO: add other flavours
- Clone this repository to your desired location (e.g.
~/.config/tmux/plugins/bamboo
) - Add the following line to your
tmux.conf
file:run ~/.config/tmux/plugins/bamboo/bamboo.tmux
- (Optional) Set your preferred flavor and/or add configuration options as listed in Configuration Options.
- Reload Tmux by either restarting the session or reloading it with
tmux source-file ~/.tmux.conf
This is a diagram of how the theme is split between its components.
All flavors support certain levels of customization that match our [bamboo Style Guide][style-guide]. To add these customizations, add any of the following options to your Tmux configuration.
set -g @bamboo_window_separator ""
set -g @bamboo_window_left_separator "█"
set -g @bamboo_window_middle_separator "█"
set -g @bamboo_window_right_separator "█"
set -g @bamboo_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 @bamboo_window_status_enable "yes"
Values:
- yes - this will enable the window status part
- no - this will disable the window status part
set -g @bamboo_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 @bamboo_icon_window_last " "
set -g @bamboo_icon_window_current " "
set -g @bamboo_icon_window_zoom " "
set -g @bamboo_icon_window_mark " "
set -g @bamboo_icon_window_silent " "
set -g @bamboo_icon_window_activity " "
set -g @bamboo_icon_window_bell " "
set -g @bamboo_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 @bamboo_window_default_color "color" # text color
set -g @bamboo_window_default_background "color"
Values:
- color - a hexadecimal color value
set -g @bamboo_window_default_text "#{b:pane_current_path}" # use "#W" for application instead of directory
set -g @bamboo_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 @bamboo_window_current_color "color" # text color
set -g @bamboo_window_current_background "color"
Values:
- color - a hexadecimal color value
set -g @bamboo_window_current_text "#{b:pane_current_path}" # use "#W" for application instead of directory
set -g @bamboo_window_current_format_directory_text "#{b:pane_current_path}"
Use this to override the way the current directory is displayed.
set -g @bamboo_window_format_directory_text "#{b:pane_current_path}"
Use this to override the way the directory is displayed.
set -g @bamboo_pane_border_style "fg=blue" # Use a value compatible with the standard tmux 'pane-border-style'
set -g @bamboo_pane_active_border_style "fg=red" # Use a value compatible with the standard tmux 'pane-border-active-style'
set -g @bamboo_status_default "off" # defaults to "on"
set -g @bamboo_status_background "theme"
This will overwrite the status bar background:
- "theme" will use the color from the selected theme
- "default" will make the status bar transparent
- use hex color codes for other colors
Note: you need to restart tmux for this to take effect:
tmux kill-server & tmux
set -g @bamboo_status_left_separator ""
set -g @bamboo_status_right_separator "█"
set -g @bamboo_status_connect_separator "yes"
Values:
- yes - the background color of the separator will not blend in with the background color of tmux
- no - the background color of the separator will blend in with the background color of tmux
set -g @bamboo_status_fill "icon"
Values:
- icon - only the icon of the module will have color
- all - the entire module will have the same color
set -g @bamboo_status_justify "left"
Values:
- left
- centre - puts the window list in the relative centre of the available free space
- right
- absolute-centre - uses the centre of the entire horizontal space
tmux_orange="#fab387"
set -g @bamboo_pane_status_enabled "yes"
set -g @bamboo_pane_border_status "top"
set -g @bamboo_pane_left_separator ""
set -g @bamboo_pane_right_separator ""
set -g @bamboo_pane_middle_separator "█ "
set -g @bamboo_pane_number_position "left"
set -g @bamboo_pane_default_fill "number"
set -g @bamboo_pane_default_text "#{b:pane_current_path}"
set -g @bamboo_pane_border_style "fg=$tmux_orange"
set -g @bamboo_pane_active_border_style "fg=$tmux_orange"
set -g @bamboo_pane_color "$tmux_orange"
set -g @bamboo_pane_background_color "$tmux_orange"
set -g @bamboo_status_modules_right "application session"
set -g @bamboo_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
- uptime - display the uptime
- battery - display the battery
Every module (except the module "session") supports the following overrides:
set -g @bamboo_[module_name]_icon "icon"
set -g @bamboo_[module_name]_color "color"
set -g @bamboo_[module_name]_text "text"
set -g @bamboo_[module_name]_[option] "null"
This is for the situation where you want to remove the icon from a module. Ex:
set -g @bamboo_date_time_icon "null"
This module depends on tmux-battery.
The preferred way to install tmux-battery is using TPM.
Load tmux-battery after you load bamboo.
set -g @plugin 'bamboo/tmux'
...
set -g @plugin 'tmux-plugins/tmux-battery'
Add the battery module to the status modules list.
set -g @bamboo_status_modules_right "... battery ..."
This module depends on tmux-cpu.
The preferred way to install tmux-cpu is using TPM.
Load tmux-cpu after you load bamboo.
set -g @plugin 'bamboo/tmux'
...
set -g @plugin 'tmux-plugins/tmux-cpu'
Add the cpu module to the status modules list.
set -g @bamboo_status_modules_right "... cpu ..."
This module depends on tmux-weather.
The preferred way to install tmux-weather is using TPM.
Load tmux-weather after you load bamboo.
set -g @plugin 'bamboo/tmux'
...
set -g @plugin 'xamut/tmux-weather'
Add the weather module to the status modules list.
set -g @bamboo_status_modules_right "... weather ..."
This module depends on tmux-clima.
The preferred way to install tmux-clima is using TPM.
Load tmux-clima after you load bamboo.
set -g @plugin 'bamboo/tmux'
...
set -g @plugin 'vascomfnunes/tmux-clima'
Add the weather module to the status modules list.
set -g @bamboo_status_modules_right "... clima ..."
This module depends on tmux-loadavg.
The preferred way to install tmux-loadavg is using TPM.
Load tmux-loadavg after you load bamboo.
set -g @plugin 'bamboo/tmux'
...
set -g @plugin 'jamesoff/tmux-loadavg'
Add the load module to the status modules list.
set -g @bamboo_status_modules_right "... load ..."
This module depends on gitmux.
To install gitmux, follow the instructions in the gitmux documentation.
Add the gitmux module to the status modules list.
set -g @bamboo_status_modules_right "... gitmux ..."
To customize the gitmux module, you can follow the instrucctions in the gitmux documentation and add this line in your tmux configuration:
set -g @bamboo_gitmux_text "#(gitmux -cfg $HOME/.gitmux.conf \"#{pane_current_path}\")"
It is possible to add a new custom module or overwrite any of the existing modules.
For further details, see the documentation in custom/README.md
Any file added to the custom folder will be preserved when updating bamboo.
Below are provided a few configurations as examples or starting points.
Note: When switching between configurations run:
tmux kill-server
To kill the tmux server and clear all global variables.
set -g @bamboo_window_left_separator ""
set -g @bamboo_window_right_separator " "
set -g @bamboo_window_middle_separator " █"
set -g @bamboo_window_number_position "right"
set -g @bamboo_window_default_fill "number"
set -g @bamboo_window_default_text "#W"
set -g @bamboo_window_current_fill "number"
set -g @bamboo_window_current_text "#W#{?window_zoomed_flag,(),}"
set -g @bamboo_status_modules_right "directory date_time"
set -g @bamboo_status_modules_left "session"
set -g @bamboo_status_left_separator " "
set -g @bamboo_status_right_separator " "
set -g @bamboo_status_right_separator_inverse "no"
set -g @bamboo_status_fill "icon"
set -g @bamboo_status_connect_separator "no"
set -g @bamboo_directory_text "#{b:pane_current_path}"
set -g @bamboo_date_time_text "%H:%M"