No description
Find a file
2024-09-22 22:11:28 +02:00
.github/workflows feat: add tests for linux (#39) 2024-09-22 17:13:24 +02:00
docs/assets/img refactor: improve readme and outsource images to external platform 2024-09-22 17:21:41 +02:00
src refactor: dry duplicated method 2024-09-22 22:11:28 +02:00
tests refactor: dry duplicated method 2024-09-22 22:11:28 +02:00
.editorconfig feat: use 2 indent for sh,tmux files 2024-09-14 20:11:19 +02:00
.gitignore feat: exclude uncommited dir 2024-09-05 12:02:12 +02:00
CHANGELOG.md feat: update missing changelog entires 2024-09-22 17:21:41 +02:00
gruvbox-tpm.tmux fix: incorrect path for themes 2024-09-19 09:45:21 +02:00
LICENSE Initial commit 2016-07-25 18:18:55 +02:00
Makefile feat: add shellcheck & shfmt github actions (#33) 2024-09-14 23:53:57 +02:00
README.md feat: update README 2024-09-22 17:21:42 +02:00

Gruvbox theme for Tmux

Theme with 'retro groove' flavor for Tmux, based on Pavel Pertsev's gruvbox colorscheme and inspired by work of Gordon Chiam. Subthemes switching inspired by tmux-color-solarized.

Screenshot made with dark & light themes (16-bit) from macOS alacritty terminal with xterm-256color and Hack Nerd Font Regular. Backgrounds by Aleksandar Pasaric and Vishnu Murali.

Installation

Add plugin at the top list of TPM plugins in .tmux.conf and select desired theme.

# ~/.tmux.conf
set -g @plugin 'egel/tmux-gruvbox'
# set desired options...
set -g @tmux-gruvbox 'dark' # or 'light'

Hit prefix + I to fetch the plugin and source it. Your Tmux should be updated with the theme at this point.

Install manually

Tip

If you do not have github account download it and unzip.

  1. Clone the project to desired location

    cd ~/projects/
    git clone ...
    
  2. Add theme at to top of your ~/.tmux.conf config.

    # ~/.tmux.conf
    run ~/projects/tmux-gruvbox/tmux-gruvbox.tmux
    # set desired options...
    set -g @tmux-gruvbox 'dark' # or light
    

Configuration options

Theme

set -g @tmux-gruvbox 'dark' # dark256, light, light256

Transparent status-bar

  • default value: 'false'
  • tmux >= 3.2 (experimental)
set -g @tmux-gruvbox-statusbar-alpha 'true'

Left Status (Section A)

  • default value: '#S'
set -g @tmux-gruvbox-left-status-a '#S' # tmux's session name

Right Status (Section X)

  • default value: '%Y-%m-%d'

This section is customizable for user, and by default contains current date.

# set date in US notation
set -g @tmux-gruvbox-right-status-x '%m/%d/%Y' # e.g.: 01/31/2024
# or set date in EU notation
set -g @tmux-gruvbox-right-status-x '%d.%m.%Y' # e.g.: 30.01.2024

Right Status (Section Y)

  • default value: '%H:%M'

This section is customizable for user, and by default contains current time.

# set US time format
set -g @tmux-gruvbox-right-status-y '%I:%M %p' # 09:54 PM

Right Status (Section Z)

  • default value: '#h'

This section is customizable for user, and by default contains hostname.

# display hostname and enhance section with other plugin
set -g @tmux-gruvbox-right-status-z '#h #{tmux_mode_indicator}'

Tip

Make sure the themes' settings are defined before all other plugins, otherwise content from external plugins may not be displayed correctly by the theme.

Development

To run project locally:

  1. clone the repository to desired place

    cd $HOME/projects/
    git clone ...
    
  2. create a symlink to the cloned repository (best in the standard TPM plugin directory):

    # cd to tmux plugin directory
    cd ~/.tmux/plugins/
    
    # create symlink to cloned repo
    ln -sf $HOME/projects/tmux-gruvbox/ tmux-gruvbox
    
  3. and in ~/.tmux.conf set

    # ~/.tmux.conf
    set -g @plugin 'egel/tmux-gruvbox'
    # set desired options...
    set -g @tmux-gruvbox 'dark'
    

Linters & formatters

To keep the files clean we use few program to help us achieve it:

  1. Editorconfig (make sure your editor have it)
  2. Markdown (prettier/prettierd)
  3. Shell (shellcheck, shfmt)

License

GPLv3 - Maciej Sypień