feat: add support for dark and light 16-bit color palettes (#34)
* feat: add dark 16-bit colors palette * feat: add light 16-bit colors palette * feat: remove unnecessary files * docs: update names * chore: add changelog entry
This commit is contained in:
parent
4f8b69ab8b
commit
b2769b4963
10 changed files with 109 additions and 216 deletions
|
@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
||||||
- Added code linters for shellcheck & shfmt [#33](https://github.com/egel/tmux-gruvbox/issues/33)
|
- Added code linters for shellcheck & shfmt [#33](https://github.com/egel/tmux-gruvbox/issues/33)
|
||||||
- Added tests (for linux) [#39](https://github.com/egel/tmux-gruvbox/issues/39)
|
- Added tests (for linux) [#39](https://github.com/egel/tmux-gruvbox/issues/39)
|
||||||
- Added customizable statusbar [#31](https://github.com/egel/tmux-gruvbox/issues/31)
|
- Added customizable statusbar [#31](https://github.com/egel/tmux-gruvbox/issues/31)
|
||||||
|
- Added support for 16-bit colors palette light & dark [#34](https://github.com/egel/tmux-gruvbox/issues/34)
|
||||||
|
|
||||||
### Changed
|
### Changed
|
||||||
|
|
||||||
|
|
|
@ -39,13 +39,25 @@ main() {
|
||||||
_statusbar_alpha=$(tmux_get_option "${TMUX_GRUVBOX_STATUSBAR_ALPHA}" "${DEFAULT_STATUSBAR_ALPHA}")
|
_statusbar_alpha=$(tmux_get_option "${TMUX_GRUVBOX_STATUSBAR_ALPHA}" "${DEFAULT_STATUSBAR_ALPHA}")
|
||||||
|
|
||||||
case "$_theme" in
|
case "$_theme" in
|
||||||
light | light256)
|
light)
|
||||||
|
# shellcheck disable=1091
|
||||||
|
source "${CURRENT_DIR}/src/palette_gruvbox_light.sh"
|
||||||
|
# shellcheck disable=1091
|
||||||
|
source "${CURRENT_DIR}/src/theme_gruvbox_light.sh"
|
||||||
|
;;
|
||||||
|
light256)
|
||||||
# shellcheck disable=1091
|
# shellcheck disable=1091
|
||||||
source "${CURRENT_DIR}/src/palette_gruvbox_light256.sh"
|
source "${CURRENT_DIR}/src/palette_gruvbox_light256.sh"
|
||||||
# shellcheck disable=1091
|
# shellcheck disable=1091
|
||||||
source "${CURRENT_DIR}/src/theme_gruvbox_light.sh"
|
source "${CURRENT_DIR}/src/theme_gruvbox_light.sh"
|
||||||
;;
|
;;
|
||||||
dark | dark256 | *)
|
dark)
|
||||||
|
# shellcheck disable=1091
|
||||||
|
source "${CURRENT_DIR}/src/palette_gruvbox_dark.sh"
|
||||||
|
# shellcheck disable=1091
|
||||||
|
source "${CURRENT_DIR}/src/theme_gruvbox_dark.sh"
|
||||||
|
;;
|
||||||
|
dark256 | *)
|
||||||
# shellcheck disable=1091
|
# shellcheck disable=1091
|
||||||
source "${CURRENT_DIR}/src/palette_gruvbox_dark256.sh"
|
source "${CURRENT_DIR}/src/palette_gruvbox_dark256.sh"
|
||||||
# shellcheck disable=1091
|
# shellcheck disable=1091
|
||||||
|
|
46
src/palette_gruvbox_dark.sh
Normal file
46
src/palette_gruvbox_dark.sh
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
##########################
|
||||||
|
# gruvbox dark pallete
|
||||||
|
##########################
|
||||||
|
|
||||||
|
####
|
||||||
|
# When using 'colour124' you are using the color default in terminal pallete.
|
||||||
|
# This could be important for people which terminals support only 256 colors
|
||||||
|
# and does not support HEX values.
|
||||||
|
#
|
||||||
|
# The names of colors used from https://github.com/morhetz/gruvbox
|
||||||
|
|
||||||
|
# shellcheck disable=2034 # ignored as this file only contains var definitions
|
||||||
|
col_bg="#282828"
|
||||||
|
col_bg0_h="#1d2021"
|
||||||
|
col_bg0="#282828"
|
||||||
|
col_bg1="#3c3836"
|
||||||
|
col_bg2="#504945"
|
||||||
|
col_bg3="#665c54"
|
||||||
|
col_bg4="#7c6f64"
|
||||||
|
col_gray0="#a89984"
|
||||||
|
col_gray1="#928374"
|
||||||
|
col_gray2="#928374"
|
||||||
|
col_bg0_s="#32302f"
|
||||||
|
col_fg="#ebdbb2"
|
||||||
|
col_fg4="#a89984"
|
||||||
|
col_fg3="#bdae93"
|
||||||
|
col_fg2="#d5c4a1"
|
||||||
|
col_fg1="#ebdbb2"
|
||||||
|
col_fg0="#fbf1c7"
|
||||||
|
|
||||||
|
col_red="#cc241d"
|
||||||
|
col_red2="#fb4934"
|
||||||
|
col_green="#98971a"
|
||||||
|
col_green2="#b8bb26"
|
||||||
|
col_yellow="#d79921"
|
||||||
|
col_yellow2="#fabd2f"
|
||||||
|
col_blue="#458588"
|
||||||
|
col_blue2="#83a598"
|
||||||
|
col_purple="#b16286"
|
||||||
|
col_purple2="#d3869b"
|
||||||
|
col_aqua="#689d6a"
|
||||||
|
col_aqua2="#8ec07c"
|
||||||
|
col_orange="#d65d0e"
|
||||||
|
col_orange2="#fe8019"
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
##########################
|
##########################
|
||||||
# gruvbox dark pallete
|
# gruvbox dark256 pallete
|
||||||
##########################
|
##########################
|
||||||
|
|
||||||
####
|
####
|
||||||
|
|
46
src/palette_gruvbox_light.sh
Normal file
46
src/palette_gruvbox_light.sh
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
##########################
|
||||||
|
# gruvbox light pallete
|
||||||
|
##########################
|
||||||
|
|
||||||
|
####
|
||||||
|
# When using 'colour124' you are using the color default in terminal pallete.
|
||||||
|
# This could be important for people which terminals support only 256 colors
|
||||||
|
# and does not support HEX values.
|
||||||
|
#
|
||||||
|
# The names of colors used from https://github.com/morhetz/gruvbox
|
||||||
|
|
||||||
|
# shellcheck disable=2034 # ignored as this file only contains var definitions
|
||||||
|
col_bg="#fbf1c7"
|
||||||
|
col_bg0_h="#f9f5d7"
|
||||||
|
col_bg0="#fbf1c7"
|
||||||
|
col_bg1="#ebdbb2"
|
||||||
|
col_bg2="#d5c4a1"
|
||||||
|
col_bg3="#bdae93"
|
||||||
|
col_bg4="#a89984"
|
||||||
|
col_gray0="#7c6f64"
|
||||||
|
col_gray1="#928374"
|
||||||
|
col_gray2="#928374"
|
||||||
|
col_bg0_s="#f2e5bc"
|
||||||
|
col_fg="#3c3836"
|
||||||
|
col_fg4="#7c6f64"
|
||||||
|
col_fg3="#665c54"
|
||||||
|
col_fg2="#504945"
|
||||||
|
col_fg1="#3c3836"
|
||||||
|
col_fg0="#282828"
|
||||||
|
|
||||||
|
col_red="#cc241d"
|
||||||
|
col_red2="#9d0006"
|
||||||
|
col_green="#98971a"
|
||||||
|
col_green2="#79740e"
|
||||||
|
col_yellow="#d79921"
|
||||||
|
col_yellow2="#b57614"
|
||||||
|
col_blue="#458588"
|
||||||
|
col_blue2="#076678"
|
||||||
|
col_purple="#b16286"
|
||||||
|
col_purple2="#8f3f71"
|
||||||
|
col_aqua="#689d6a"
|
||||||
|
col_aqua2="#427b58"
|
||||||
|
col_orange="#d65d0e"
|
||||||
|
col_orange2="#af3a03"
|
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
##########################
|
##########################
|
||||||
# gruvbox dark pallete
|
# gruvbox light256 pallete
|
||||||
##########################
|
##########################
|
||||||
|
|
||||||
####
|
####
|
||||||
|
|
|
@ -1,50 +0,0 @@
|
||||||
## 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:
|
|
|
@ -1,50 +0,0 @@
|
||||||
## COLORSCHEME: gruvbox dark (medium)
|
|
||||||
set-option -g status "on"
|
|
||||||
|
|
||||||
# default statusbar color
|
|
||||||
set-option -g status-style bg=colour237,fg=colour223 # bg=bg1, fg=fg1
|
|
||||||
|
|
||||||
# default window title colors
|
|
||||||
set-window-option -g window-status-style bg=colour214,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=red,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=colour237,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 #{tmux_mode_indicator}"
|
|
||||||
|
|
||||||
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,} #[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 #[bg=colour237,fg=colour239,noitalics]"
|
|
||||||
|
|
||||||
# vim: set ft=tmux tw=0 nowrap:
|
|
|
@ -1,56 +0,0 @@
|
||||||
## 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:
|
|
|
@ -1,56 +0,0 @@
|
||||||
## 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=colour252,fg=colour239 # bg=notInGruvboxPallete, #fg=fg1
|
|
||||||
|
|
||||||
# default window title colors
|
|
||||||
set-window-option -g window-status-style bg=colour66,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=colour252,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:
|
|
Loading…
Add table
Add a link
Reference in a new issue