Skip to content

Commit

Permalink
feat: add dark & light transparent themes (#18)
Browse files Browse the repository at this point in the history
  • Loading branch information
egel committed Sep 5, 2024
1 parent 76bb989 commit eacffbd
Show file tree
Hide file tree
Showing 9 changed files with 124 additions and 9 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

### Added

- Added light and dark transparent themes [#18](https://github.com/egel/tmux-gruvbox/issues/18)
- Added editorconfig

### Changed
Expand Down
26 changes: 17 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,25 +11,33 @@ Theme with 'retro groove' flavor for [Tmux][github-tmux], based on Pavel Pertsev
-->

<div align="center">
<a href="./docs/assets/img/gruvbox-dark-and-light theme structure.png" title="Grovbox dark and light themes for Tmux">
<img src="./docs/assets/img/gruvbox-dark-and-light theme structure@0.5x.png"
title="Grovbox dark and light themes for Tmux"
width="100%"
height="auto"
style="max-width: 800px; text-align: center; border-radius: 12px; overflow:hidden;" />
</a>
<a href="./docs/assets/img/gruvbox-dark-and-light-theme-structure.png" title="Grovbox dark and light themes for Tmux">
<img src="./docs/assets/img/gruvbox-dark-and-light-theme-structure@0.5x.png"
title="Grovbox dark and light themes for Tmux"
width="100%"
height="auto"
style="max-width: 800px; text-align: center; border-radius: 12px; overflow:hidden;" />
</a>
</div>

> Screenshot made from macOS [alacritty][github-alacritty] terminal with xterm-256color and [Hack Nerd Font Regular][github-nerd-fonts].<br/>
> Backgrounds by [Aleksandar Pasaric][pexcel-1] and [Vishnu Murali][pexcel-2].
## Installation

**Available Themes**

- [`dark`](./docs/assets/img/gruvbox-dark-theme.png)
- [`light`](./docs/assets/img/gruvbox-light-theme.png)
- `dark-transparent` (experimental)
- `light-transparent` (experimental)

### Install manually

The simplest way is just:

> HINT: Always make a backup of your config files before any action.
> [!TIP]
> Always make a backup of your config files before any action.
```bash
cat tmux-gruvbox-dark.conf >> ~/.tmux.conf
Expand All @@ -41,7 +49,7 @@ Add plugin to the list of TPM plugins in `.tmux.conf` and select desired theme.

```bash
set -g @plugin 'egel/tmux-gruvbox'
set -g @tmux-gruvbox 'dark' # or 'light'
set -g @tmux-gruvbox 'dark' # or 'light', 'dark-transparent', 'light-transparent'
```

Hit `prefix + I` to fetch the plugin and source it. Your Tmux should be updated with the theme at this point.
Expand Down
Binary file added docs/assets/img/gruvbox-dark-theme.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/assets/img/gruvbox-light-theme.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
50 changes: 50 additions & 0 deletions tmux-gruvbox-dark-transparent.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
## COLORSCHEME: gruvbox dark (medium)
set-option -g status "on"

# default statusbar color
set-option -g status-style bg=default,fg=colour223 # bg=bg1, fg=fg1

# default window title colors
set-window-option -g window-status-style bg=default,fg=colour237 # bg=yellow, fg=bg1

# default window with an activity alert
set-window-option -g window-status-activity-style bg=colour237,fg=colour248 # bg=bg1, fg=fg3

# active window title colors
set-window-option -g window-status-current-style bg=default,fg=colour237 # fg=bg1

# pane border
set-option -g pane-active-border-style fg=colour250 #fg2
set-option -g pane-border-style fg=colour237 #bg1

# message infos
set-option -g message-style bg=colour239,fg=colour223 # bg=bg2, fg=fg1

# writing commands inactive
set-option -g message-command-style bg=colour239,fg=colour223 # bg=fg3, fg=bg1

# pane number display
set-option -g display-panes-active-colour colour250 #fg2
set-option -g display-panes-colour colour237 #bg1

# clock
set-window-option -g clock-mode-colour colour109 #blue

# bell
set-window-option -g window-status-bell-style bg=colour167,fg=colour235 # bg=red, fg=bg

## Theme settings mixed with colors (unfortunately, but there is no cleaner way)
set-option -g status-justify "left"
set-option -g status-left-style none
set-option -g status-left-length "80"
set-option -g status-right-style none
set-option -g status-right-length "80"
set-window-option -g window-status-separator ""

set-option -g status-left "#[bg=colour241,fg=colour248] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]"
set-option -g status-right "#[bg=default,fg=colour239 nobold, nounderscore, noitalics]#[bg=colour239,fg=colour246] %Y-%m-%d  %H:%M #[bg=colour239,fg=colour248,nobold,noitalics,nounderscore]#[bg=colour248,fg=colour237] #h "

set-window-option -g window-status-current-format "#[bg=colour214,fg=colour237,nobold,noitalics,nounderscore]#[bg=colour214,fg=colour239] #I #[bg=colour214,fg=colour239,bold] #W#{?window_zoomed_flag,*Z,} #{?window_end_flag,#[bg=default],#[bg=colour237]}#[fg=colour214,nobold,noitalics,nounderscore]"
set-window-option -g window-status-format "#[bg=colour239,fg=colour237,noitalics]#[bg=colour239,fg=colour223] #I #[bg=colour239,fg=colour223] #W #{?window_end_flag,#[bg=default],#[bg=colour237]}#[fg=colour239,noitalics]"

# vim: set ft=tmux tw=0 nowrap:
56 changes: 56 additions & 0 deletions tmux-gruvbox-light-transparent.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
## COLORSCHEME: gruvbox light (medium)
#
# Some colors are not used by gruvbox light medium theme.
# The main idea is to find best version of colors that fit
# the spirit of gruvbox light theme with limited numbers of
# 256 color palette.

set-option -g status "on"

# default statusbar colors
set-option -g status-style bg=default,fg=colour239 # bg=notInGruvboxPallete, #fg=fg1

# default window title colors
set-window-option -g window-status-style bg=default,fg=colour229 # bg=aqua, fg=bg5

# default window with an activity alert
set-window-option -g window-status-activity-style bg=colour237,fg=colour241 # bg=bg1, fg=notInGruvboxPallete

# active window title colors
set-window-option -g window-status-current-style bg=default,fg=colour237 # bg=default, fg=bg1

# pane border
set-option -g pane-active-border-style fg=colour241 # fg=notInGruvboxPallete
set-option -g pane-border-style fg=colour252 # bg1=notInGruvboxPallete

# message infos (visible while writing command)
set-option -g message-style bg=colour252,fg=colour241 # bg=notInGruvboxPallete, fg=notInGruvboxPallete

# writing commands inactive
set-option -g message-command-style bg=colour124,fg=colour241 # bg=notInGruvboxPallete, fg=notInGruvboxPallete

# pane number display
set-option -g display-panes-active-colour colour241 # notInGruvboxPallete
set-option -g display-panes-colour colour248 # notInGruvboxPallete

# clock
set-window-option -g clock-mode-colour colour172 # orange

# bell
set-window-option -g window-status-bell-style bg=colour124,fg=colour229 # bg=red, fg=bg

## Theme settings mixed with colors (unfortunately, but there is no cleaner way)
set-option -g status-justify "left"
set-option -g status-left-style none
set-option -g status-left-length "80"
set-option -g status-right-style none
set-option -g status-right-length "80"
set-window-option -g window-status-separator ""

set-option -g status-left "#[bg=colour243,fg=colour255] #S #[bg=colour252,fg=colour243,nobold,noitalics,nounderscore]"
set-option -g status-right "#[bg=default,fg=colour243,nobold,nounderscore,noitalics]#[bg=colour243,fg=colour255] %Y-%m-%d  %H:%M #[bg=colour243,fg=colour237,nobold,noitalics,nounderscore]#[bg=colour237,fg=colour255] #h "

set-window-option -g window-status-current-format "#[bg=colour215,fg=colour252,nobold,noitalics,nounderscore]#[bg=colour215,fg=colour239] #I #[bg=colour215,fg=colour239,bold] #W#{?window_zoomed_flag,*Z,} #[bg=colour252,fg=colour215,nobold,noitalics,nounderscore]"
set-window-option -g window-status-format "#[bg=colour249,fg=colour252,noitalics]#[bg=colour249,fg=colour241] #I #[bg=colour249,fg=colour241] #W #[bg=colour252,fg=colour249,noitalics]"

# vim: set ft=tmux tw=0 nowrap:

0 comments on commit eacffbd

Please sign in to comment.