Compare commits
5 commits
main
...
enhance-co
Author | SHA1 | Date | |
---|---|---|---|
![]() |
ed4430b0b5 | ||
![]() |
92c67eb87d | ||
![]() |
2fb3dc8d45 | ||
![]() |
d084c5bf84 | ||
![]() |
48c8dcb2b6 |
34
.github/workflows/dev-push-check.yml
vendored
|
@ -1,34 +0,0 @@
|
|||
name: dev-push-check
|
||||
run-name: ${{ github.actor }} pushed new code 💻
|
||||
on: [push] #, pull_request]
|
||||
jobs:
|
||||
lint_shellcheck:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Install shellcheck
|
||||
run: sudo apt-get install -y shellcheck
|
||||
- name: Checkout repo
|
||||
uses: actions/checkout@main
|
||||
- name: Lint files against shellcheck
|
||||
run: make lint_shellcheck
|
||||
lint_shfmt:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Install shfmt
|
||||
run: sudo apt-get install -y shfmt
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@main
|
||||
- name: Lint files against shfmt
|
||||
run: make lint_shfmt
|
||||
tests_linux:
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- lint_shfmt
|
||||
- lint_shellcheck
|
||||
steps:
|
||||
- name: Install required software
|
||||
run: sudo apt install -y tmux git
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@main
|
||||
- name: Execute all linux tests and check results
|
||||
run: ./tests/run_all_linux_tests.sh
|
25
CHANGELOG.md
|
@ -9,27 +9,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|||
|
||||
### Added
|
||||
|
||||
### Changed
|
||||
|
||||
### Deprecated
|
||||
|
||||
### Removed
|
||||
|
||||
### Fixed
|
||||
|
||||
### Security
|
||||
|
||||
## [v2.0.0]
|
||||
|
||||
### Added
|
||||
|
||||
- Added light and dark transparent themes [#18](https://github.com/egel/tmux-gruvbox/issues/18)
|
||||
- Added editorconfig
|
||||
- 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 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)
|
||||
- Added migration guide v1 to v2 [#44](https://github.com/egel/tmux-gruvbox/issues/44)
|
||||
|
||||
### Changed
|
||||
|
||||
|
@ -37,13 +18,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|||
|
||||
### Removed
|
||||
|
||||
- Reduce repo weight by removing unused images [#41](https://github.com/egel/tmux-gruvbox/issues/41)
|
||||
|
||||
### Fixed
|
||||
|
||||
- Fixed incorrect spacings in template file
|
||||
- Improved README with more examples
|
||||
- Reduced repo size by outsource images to external platform [#36](https://github.com/egel/tmux-gruvbox/issues/36)
|
||||
|
||||
### Security
|
||||
|
||||
|
@ -70,5 +47,3 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
|
|||
|
||||
[Unreleased]: https://github.com/egel/tmux-gruvbox/compare/v1.0.0...HEAD
|
||||
[1.0.0]: https://github.com/egel/tmux-gruvbox/compare/v0.0.0...v1.0.0
|
||||
[1.1.0]: https://github.com/egel/tmux-gruvbox/compare/v1.0.0...v1.1.0
|
||||
[2.0.0]: https://github.com/egel/tmux-gruvbox/compare/v1.1.0...v2.0.0
|
||||
|
|
17
Makefile
|
@ -1,12 +1,5 @@
|
|||
.PHONY: lint_shellcheck
|
||||
lint_shellcheck:
|
||||
find . -type f -not -path "./uncommited/*" -a \( -iname "*.sh" \) | \
|
||||
xargs -I % sh -c 'shellcheck %'
|
||||
|
||||
.PHONY: lint_shfmt
|
||||
lint_shfmt:
|
||||
find . -type f -not -path "./uncommited/*" -a \( -iname "*.sh" \) | \
|
||||
xargs -I % sh -c 'shfmt -i=2 -l -d -ln=bash %'
|
||||
|
||||
.PHONY: check_scripts
|
||||
check_scripts: lint_shellcheck lint_shfmt
|
||||
.PHONY: check-scripts
|
||||
check-scripts:
|
||||
@# Fail if any of these files have warnings
|
||||
find . -type f -not -path "./uncommited/*" -a \( -iname "*.sh" -o -iname "*.tmux" \) | xargs -I % sh -c 'shellcheck %'
|
||||
find . -type f -not -path "./uncommited/*" -a \( -iname "*.sh" -o -iname "*.tmux" \) | xargs -I % sh -c 'shfmt -l -d %'
|
||||
|
|
179
README.md
|
@ -1,9 +1,9 @@
|
|||
<div align="center">
|
||||
<img src="https://i.imgur.com/Ukyf4Iu.png" width="200px" referrerpolicy="no-referrer">
|
||||
<img src="./docs/assets/img/logo-v1@0.5x.png" width="200px">
|
||||
<h1>Gruvbox theme for Tmux</h1>
|
||||
</div>
|
||||
|
||||
Theme with 'retro groove' flavor for [Tmux][github-tmux], based on Pavel Pertsev's [gruvbox colorscheme][github-grovbox] and inspired by work of [Gordon Chiam](https://gist.github.com/gchiam/4606522f513cc64b79ce). Subthemes switching inspired by [tmux-color-solarized][github-seebi-tmux-color-solarized].
|
||||
Theme with 'retro groove' flavor for [Tmux][github-tmux], based on Pavel Pertsev's [gruvbox colorscheme][github-grovbox] and inspired by work of [Gordon Chiam](https://gist.github.com/gchiam/4606522f513cc64b79ce). Subthemes switching inspired by [tmux-color-solarized][tmux-color-solarized].
|
||||
|
||||
<!--
|
||||
Using HTML table instead default markdown tables as provide it provide
|
||||
|
@ -11,190 +11,74 @@ Theme with 'retro groove' flavor for [Tmux][github-tmux], based on Pavel Pertsev
|
|||
-->
|
||||
|
||||
<div align="center">
|
||||
<a href="https://i.imgur.com/uGyGwlC.png" target="_blank" title="Grovbox dark and light themes for Tmux">
|
||||
<img src="https://i.imgur.com/p6lUnzb.png"
|
||||
<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;"
|
||||
referrerpolicy="no-referrer"
|
||||
/>
|
||||
style="max-width: 800px; text-align: center; border-radius: 12px; overflow:hidden;" />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
> Screenshot made with dark & light themes (16-bit) from macOS [alacritty][github-alacritty] terminal with xterm-256color and [Hack Nerd Font Regular][github-nerd-fonts]. Backgrounds by [Aleksandar Pasaric][pexcel-1] and [Vishnu Murali][pexcel-2].
|
||||
> 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
|
||||
|
||||
### Install via [TPM][github-tpm] (recommended)
|
||||
**Available Themes**
|
||||
|
||||
Add plugin at the top list of TPM plugins list in `.tmux.conf` and select desired theme.
|
||||
|
||||
```bash
|
||||
# ~/.tmux.conf
|
||||
|
||||
set -g @plugin 'tmux-plugins/tpm' # mandatory
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible' # optional recommended
|
||||
|
||||
set -g @plugin 'https://git.k4li.de/mirrors/tmux-gruvbox'
|
||||
# set desired theme options...
|
||||
set -g @tmux-gruvbox 'dark' # or 'dark256', 'light', 'light256'
|
||||
|
||||
# other plugins
|
||||
...
|
||||
```
|
||||
|
||||
Hit `prefix + I` to fetch the plugin and source it. Your Tmux should be updated with the theme at this point.
|
||||
|
||||
> [!NOTE]
|
||||
> If you used v1 before and interested to adapt to v2 use this [Migration Guide from v1 to v2][docs-migration-guide-from-v1-to-v2].
|
||||
- [`dark`](./docs/assets/img/gruvbox-dark-theme.png)
|
||||
- [`light`](./docs/assets/img/gruvbox-light-theme.png)
|
||||
- `dark-transparent` (experimental)
|
||||
- `light-transparent` (experimental)
|
||||
|
||||
### Install manually
|
||||
|
||||
> [!TIP]
|
||||
> If you do not have github account [download](https://github.com/egel/tmux-gruvbox/archive/refs/heads/main.zip) it and unzip.
|
||||
|
||||
1. Clone the project to desired location
|
||||
|
||||
```bash
|
||||
cd ~/projects/
|
||||
git clone ...
|
||||
```
|
||||
|
||||
1. Add theme at to top of your `~/.tmux.conf` config.
|
||||
|
||||
```bash
|
||||
# ~/.tmux.conf
|
||||
|
||||
run ~/projects/tmux-gruvbox/tmux-gruvbox.tmux
|
||||
# set desired options...
|
||||
set -g @tmux-gruvbox 'dark' # or 'dark256', 'light', 'light256'
|
||||
```
|
||||
|
||||
## Configuration options
|
||||
|
||||
<div align="center">
|
||||
<a href="https://i.imgur.com/tO5Y1NN.png" target="_blank" title="Grovbox dark and light themes configuration sections">
|
||||
<img src="https://i.imgur.com/x4tkeU7.png"
|
||||
title="Grovbox dark and light themes configuration sections"
|
||||
width="100%"
|
||||
height="auto"
|
||||
style="max-width: 800px; text-align: center; border-radius: 12px; overflow:hidden;"
|
||||
referrerpolicy="no-referrer" />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
### Theme
|
||||
|
||||
- default value: `dark256`
|
||||
|
||||
| Theme name | Color palette | Preview link |
|
||||
| :--------- | :------------ | :-------------------------------------------------------------------- |
|
||||
| `dark` | 16-bit colors | <a href="https://i.imgur.com/ae88LQI.png" target="_blank">preview</a> |
|
||||
| `light` | 16-bit colors | <a href="https://i.imgur.com/fvpdRjg.png" target="_blank">preview</a> |
|
||||
| `dark256` | 256 colors | <a href="https://i.imgur.com/kzQTTCa.png" target="_blank">preview</a> |
|
||||
| `light256` | 256 colors | <a href="https://i.imgur.com/tQsl6LA.png" target="_blank">preview</a> |
|
||||
|
||||
```bash
|
||||
set -g @tmux-gruvbox 'dark' # dark256, light, light256
|
||||
```
|
||||
The simplest way is just:
|
||||
|
||||
> [!TIP]
|
||||
> Each terminal emulator can behave bit differently regarding displaying colors.
|
||||
> If you have some problems see
|
||||
> [True Color (24-bit) and italics with alacritty + tmux + vim (neovim)][github-gist-andersevenrud-alacritty-tmux-vim-truecolor]
|
||||
> where there is great wisdom how to adjust terminal, especially when used
|
||||
> alacritty and tmux.
|
||||
|
||||
### Transparent status-bar
|
||||
|
||||
- default value: `'false'`
|
||||
- tmux >= 3.2 (experimental)
|
||||
> Always make a backup of your config files before any action.
|
||||
|
||||
```bash
|
||||
set -g @tmux-gruvbox-statusbar-alpha 'true'
|
||||
cat tmux-gruvbox-dark.conf >> ~/.tmux.conf
|
||||
```
|
||||
|
||||
### Left Status (Section A)
|
||||
### Install through [Tmux Plugin Manager](https://github.com/tmux-plugins/tpm)
|
||||
|
||||
- default value: `'#S'` (session name)
|
||||
Add plugin to the list of TPM plugins in `.tmux.conf` and select desired theme.
|
||||
|
||||
```bash
|
||||
set -g @tmux-gruvbox-left-status-a '#S' # tmux's session name
|
||||
set -g @plugin 'egel/tmux-gruvbox'
|
||||
set -g @tmux-gruvbox 'dark' # or 'light', 'dark-transparent', 'light-transparent'
|
||||
```
|
||||
|
||||
### Right Status (Section X)
|
||||
|
||||
- default value: `'%Y-%m-%d'`
|
||||
|
||||
This section is customizable for user, and by default contains current date.
|
||||
|
||||
```bash
|
||||
# set date in US notation
|
||||
set -g @tmux-gruvbox-right-status-x '%m/%d/%Y' # e.g.: 01/31/2024
|
||||
```
|
||||
|
||||
```bash
|
||||
# or set date in EU notation
|
||||
set -g @tmux-gruvbox-right-status-x '%d.%m.%Y' # e.g.: 30.01.2024
|
||||
```
|
||||
|
||||
> [!TIP]
|
||||
> Some user may have problem with displaying dates in desired format, if this
|
||||
> case for you try using double percent `%%`
|
||||
|
||||
### Right Status (Section Y)
|
||||
|
||||
- default value: `'%H:%M'`
|
||||
|
||||
This section is customizable for user, and by default contains current time.
|
||||
|
||||
```bash
|
||||
# set US time format
|
||||
set -g @tmux-gruvbox-right-status-y '%I:%M %p' # 09:54 PM
|
||||
```
|
||||
|
||||
### Right Status (Section Z)
|
||||
|
||||
- default value: `'#h'` (hostname)
|
||||
|
||||
This section is customizable for user, and by default contains hostname.
|
||||
|
||||
```bash
|
||||
# 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.
|
||||
Hit `prefix + I` to fetch the plugin and source it. Your Tmux should be updated with the theme at this point.
|
||||
|
||||
## Development
|
||||
|
||||
To run project locally:
|
||||
|
||||
1. clone the repository to desired place
|
||||
1. clone the repo to desired place
|
||||
|
||||
```bash
|
||||
cd $HOME/projects/
|
||||
git clone ...
|
||||
```
|
||||
|
||||
1. create a symlink to the cloned repository (best in the standard [TPM][github-tpm] plugin directory):
|
||||
1. create symlink in plugin dir to the cloned repo:
|
||||
|
||||
```bash
|
||||
# cd to tmux plugin directory
|
||||
cd ~/.tmux/plugins/
|
||||
|
||||
# create symlink to cloned repo
|
||||
# create simlink to cloned repo
|
||||
ln -sf $HOME/projects/tmux-gruvbox/ tmux-gruvbox
|
||||
```
|
||||
|
||||
1. and in `~/.tmux.conf` set
|
||||
|
||||
```bash
|
||||
# ~/.tmux.conf
|
||||
# add plugin
|
||||
set -g @plugin 'egel/tmux-gruvbox'
|
||||
# set desired options...
|
||||
set -g @tmux-gruvbox 'dark'
|
||||
|
@ -212,20 +96,11 @@ To keep the files clean we use few program to help us achieve it:
|
|||
|
||||
GPLv3 - Maciej Sypień
|
||||
|
||||
[docs-migration-guide-from-v1-to-v2]: ./docs/migration-guide-from-v1-to-v2.md
|
||||
[github-alacritty]: https://github.com/alacritty/alacritty
|
||||
[github-gist-andersevenrud-alacritty-tmux-vim-truecolor]: https://gist.github.com/andersevenrud/015e61af2fd264371032763d4ed965b6
|
||||
[github-tmux]: https://github.com/tmux/tmux
|
||||
[github-grovbox]: https://github.com/morhetz/gruvbox
|
||||
[github-hack]: https://github.com/chrissimpkins/Hack
|
||||
[github-nerd-fonts]: https://github.com/ryanoasis/nerd-fonts
|
||||
[github-seebi-tmux-color-solarized]: https://github.com/seebi/tmux-colors-solarized
|
||||
[github-tmux]: https://github.com/tmux/tmux
|
||||
[github-tpm]: https://github.com/tmux-plugins/tpm
|
||||
[imgur-img-gruvbox-dark-16bit-1x]: https://i.imgur.com/ae88LQI.png
|
||||
[imgur-img-gruvbox-dark-light-comparision-0.5x]: https://i.imgur.com/p6lUnzb.png
|
||||
[imgur-img-gruvbox-dark-light-comparision-1x]: https://i.imgur.com/uGyGwlC.png
|
||||
[imgur-img-gruvbox-dark256-1x]: https://i.imgur.com/kzQTTCa.png
|
||||
[imgur-img-gruvbox-light-16bit-1x]: https://i.imgur.com/fvpdRjg.png
|
||||
[imgur-img-gruvbox-light256-1x]: https://i.imgur.com/tQsl6LA.png
|
||||
[github-alacritty]: https://github.com/alacritty/alacritty
|
||||
[tmux-color-solarized]: https://github.com/seebi/tmux-colors-solarized
|
||||
[pexcel-1]: https://www.pexels.com/photo/urban-photo-of-an-alley-2411688/
|
||||
[pexcel-2]: https://www.pexels.com/photo/lights-hanging-above-the-alley-in-a-city-at-night-27044195/
|
||||
|
|
BIN
docs/assets/img/gruvbox-dark-and-light-theme-structure.png
Normal file
After Width: | Height: | Size: 3.4 MiB |
BIN
docs/assets/img/gruvbox-dark-and-light-theme-structure@0.25x.png
Normal file
After Width: | Height: | Size: 334 KiB |
BIN
docs/assets/img/gruvbox-dark-and-light-theme-structure@0.5x.png
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
docs/assets/img/gruvbox-dark-theme.png
Normal file
After Width: | Height: | Size: 3.3 MiB |
BIN
docs/assets/img/gruvbox-light-theme.png
Normal file
After Width: | Height: | Size: 3.9 MiB |
BIN
docs/assets/img/logo-v1.png
Normal file
After Width: | Height: | Size: 53 KiB |
125
docs/assets/img/logo-v1.svg
Normal file
|
@ -0,0 +1,125 @@
|
|||
<svg width="562" height="454" viewBox="0 0 562 454" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<mask id="mask0_5_99" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="10" y="0" width="544" height="147">
|
||||
<path d="M86.0398 37.544C82.9998 38.5573 79.6558 39.216 76.0078 39.52C72.3598 39.824 67.9011 39.976 62.6318 39.976C72.0558 44.232 76.7678 50.9707 76.7678 60.192C76.7678 68.1973 74.0318 74.7333 68.5598 79.8C63.0878 84.8667 55.6398 87.4 46.2158 87.4C42.5678 87.4 39.1731 86.8933 36.0318 85.88C34.8158 86.6907 33.8531 87.8053 33.1438 89.224C32.4345 90.5413 32.0798 91.9093 32.0798 93.328C32.0798 97.6853 35.5758 99.864 42.5678 99.864H55.3358C60.7065 99.864 65.4691 100.827 69.6238 102.752C73.7785 104.677 76.9705 107.312 79.1998 110.656C81.5305 114 82.6958 117.8 82.6958 122.056C82.6958 129.859 79.5038 135.837 73.1198 139.992C66.7358 144.248 57.4131 146.376 45.1518 146.376C36.5385 146.376 29.6985 145.464 24.6318 143.64C19.6665 141.917 16.1198 139.283 13.9918 135.736C11.8638 132.189 10.7998 127.629 10.7998 122.056H23.4158C23.4158 125.299 24.0238 127.832 25.2398 129.656C26.4558 131.581 28.6345 133 31.7758 133.912C34.9171 134.925 39.3758 135.432 45.1518 135.432C53.5625 135.432 59.5411 134.368 63.0878 132.24C66.7358 130.213 68.5598 127.123 68.5598 122.968C68.5598 119.219 67.1411 116.381 64.3038 114.456C61.4665 112.531 57.5145 111.568 52.4478 111.568H39.8318C33.0425 111.568 27.8745 110.149 24.3278 107.312C20.8825 104.373 19.1598 100.725 19.1598 96.368C19.1598 93.7333 19.9198 91.2 21.4398 88.768C22.9598 86.336 25.1385 84.1573 27.9758 82.232C23.3145 79.8 19.8691 76.8107 17.6398 73.264C15.5118 69.616 14.4478 65.208 14.4478 60.04C14.4478 54.6693 15.7651 49.856 18.3998 45.6C21.1358 41.344 24.8345 38.0507 29.4958 35.72C34.2585 33.288 39.5278 32.072 45.3038 32.072C51.5865 32.1733 56.8558 31.9707 61.1118 31.464C65.3678 30.856 68.8638 30.096 71.5998 29.184C74.4371 28.1707 77.8825 26.752 81.9358 24.928L86.0398 37.544ZM45.3038 42.104C40.0345 42.104 35.9305 43.776 32.9918 47.12C30.1545 50.3627 28.7358 54.6693 28.7358 60.04C28.7358 65.512 30.2051 69.92 33.1438 73.264C36.0825 76.5067 40.2371 78.128 45.6078 78.128C51.0798 78.128 55.2345 76.5573 58.0718 73.416C61.0105 70.1733 62.4798 65.664 62.4798 59.888C62.4798 48.032 56.7545 42.104 45.3038 42.104Z" fill="black"/>
|
||||
<path d="M135.217 32.072C138.054 32.072 140.689 32.376 143.121 32.984L140.537 46.664C138.105 46.056 135.774 45.752 133.545 45.752C128.579 45.752 124.577 47.576 121.537 51.224C118.497 54.872 116.115 60.5467 114.393 68.248V114H100.409V33.896H112.417L113.785 50.16C115.913 44.1813 118.801 39.672 122.449 36.632C126.097 33.592 130.353 32.072 135.217 32.072Z" fill="black"/>
|
||||
<path d="M184.536 32.072C195.784 32.072 204.498 35.8213 210.68 43.32C216.962 50.8187 220.104 61.0027 220.104 73.872C220.104 82.1813 218.685 89.528 215.848 95.912C213.01 102.195 208.906 107.109 203.536 110.656C198.165 114.101 191.781 115.824 184.384 115.824C173.136 115.824 164.37 112.075 158.088 104.576C151.805 97.0773 148.664 86.8933 148.664 74.024C148.664 65.7147 150.082 58.4187 152.92 52.136C155.757 45.752 159.861 40.8373 165.232 37.392C170.602 33.8453 177.037 32.072 184.536 32.072ZM184.536 43.32C170.653 43.32 163.712 53.5547 163.712 74.024C163.712 94.392 170.602 104.576 184.384 104.576C198.165 104.576 205.056 94.3413 205.056 73.872C205.056 53.504 198.216 43.32 184.536 43.32Z" fill="black"/>
|
||||
<path d="M301.436 33.896L274.228 114H257.356L229.692 33.896H244.892L265.868 101.536L286.692 33.896H301.436Z" fill="black"/>
|
||||
<path d="M354.056 32.072C363.176 32.072 370.422 35.7707 375.792 43.168C381.163 50.464 383.848 60.6987 383.848 73.872C383.848 82.1813 382.582 89.528 380.048 95.912C377.515 102.195 373.867 107.109 369.104 110.656C364.342 114.101 358.768 115.824 352.384 115.824C343.974 115.824 336.88 112.277 331.104 105.184L329.736 114H317.424V1.67201L331.408 0V43.928C337.184 36.024 344.734 32.072 354.056 32.072ZM349.04 104.728C355.222 104.728 360.035 102.245 363.48 97.28C367.027 92.2133 368.8 84.4107 368.8 73.872C368.8 63.0293 367.179 55.2267 363.936 50.464C360.694 45.6 356.083 43.168 350.104 43.168C343.011 43.168 336.779 47.3227 331.408 55.632V93.936C333.536 97.28 336.12 99.9147 339.16 101.84C342.302 103.765 345.595 104.728 349.04 104.728Z" fill="black"/>
|
||||
<path d="M437.77 32.072C449.018 32.072 457.733 35.8213 463.914 43.32C470.197 50.8187 473.338 61.0027 473.338 73.872C473.338 82.1813 471.92 89.528 469.082 95.912C466.245 102.195 462.141 107.109 456.77 110.656C451.4 114.101 445.016 115.824 437.618 115.824C426.37 115.824 417.605 112.075 411.322 104.576C405.04 97.0773 401.898 86.8933 401.898 74.024C401.898 65.7147 403.317 58.4187 406.154 52.136C408.992 45.752 413.096 40.8373 418.466 37.392C423.837 33.8453 430.272 32.072 437.77 32.072ZM437.77 43.32C423.888 43.32 416.946 53.5547 416.946 74.024C416.946 94.392 423.837 104.576 437.618 104.576C451.4 104.576 458.29 94.3413 458.29 73.872C458.29 53.504 451.45 43.32 437.77 43.32Z" fill="black"/>
|
||||
<path d="M525.808 71.136L553.624 114H536.752L517.144 80.104L497.232 114H481.424L509.392 71.744L484.616 33.896H501.032L517.752 63.232L534.624 33.896H550.432L525.808 71.136Z" fill="black"/>
|
||||
</mask>
|
||||
<g mask="url(#mask0_5_99)">
|
||||
<rect x="-135" y="-4" width="800" height="23" fill="#689D6A"/>
|
||||
<rect x="-135" y="23" width="800" height="23" fill="#CC241D"/>
|
||||
<rect x="-135" y="50" width="800" height="23" fill="#98971A"/>
|
||||
<rect x="-135" y="77" width="800" height="23" fill="#FBBD2E"/>
|
||||
<rect x="-135" y="104" width="800" height="23" fill="#83A598"/>
|
||||
<rect x="-135" y="131" width="800" height="23" fill="#B16286"/>
|
||||
</g>
|
||||
<g filter="url(#filter0_d_5_99)">
|
||||
<rect x="11" y="183" width="120" height="120" rx="16" fill="white" fill-opacity="0.07" stroke="#1D2021" stroke-width="8"/>
|
||||
</g>
|
||||
<g filter="url(#filter1_d_5_99)">
|
||||
<rect x="151" y="183" width="120" height="120" rx="16" fill="white" fill-opacity="0.07" stroke="#1D2021" stroke-width="8"/>
|
||||
</g>
|
||||
<g filter="url(#filter2_d_5_99)">
|
||||
<rect x="291" y="183" width="120" height="120" rx="16" fill="white" fill-opacity="0.07" stroke="#1D2021" stroke-width="8"/>
|
||||
</g>
|
||||
<g filter="url(#filter3_d_5_99)">
|
||||
<rect x="431" y="183" width="120" height="120" rx="16" fill="white" fill-opacity="0.07" stroke="#1D2021" stroke-width="8"/>
|
||||
</g>
|
||||
<g filter="url(#filter4_d_5_99)">
|
||||
<rect x="11" y="323" width="120" height="120" rx="16" fill="white" fill-opacity="0.07" stroke="#1D2021" stroke-width="8"/>
|
||||
</g>
|
||||
<g filter="url(#filter5_d_5_99)">
|
||||
<rect x="151" y="323" width="120" height="120" rx="16" fill="white" fill-opacity="0.07" stroke="#1D2021" stroke-width="8"/>
|
||||
</g>
|
||||
<g filter="url(#filter6_d_5_99)">
|
||||
<rect x="291" y="323" width="120" height="120" rx="16" fill="white" fill-opacity="0.07" stroke="#1D2021" stroke-width="8"/>
|
||||
</g>
|
||||
<g filter="url(#filter7_d_5_99)">
|
||||
<rect x="431" y="323" width="120" height="120" rx="16" fill="white" fill-opacity="0.07" stroke="#1D2021" stroke-width="8"/>
|
||||
</g>
|
||||
<defs>
|
||||
<filter id="filter0_d_5_99" x="0" y="172" width="142" height="142" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset/>
|
||||
<feGaussianBlur stdDeviation="3.5"/>
|
||||
<feComposite in2="hardAlpha" operator="out"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.1 0"/>
|
||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5_99"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5_99" result="shape"/>
|
||||
</filter>
|
||||
<filter id="filter1_d_5_99" x="140" y="172" width="142" height="142" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset/>
|
||||
<feGaussianBlur stdDeviation="3.5"/>
|
||||
<feComposite in2="hardAlpha" operator="out"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.1 0"/>
|
||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5_99"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5_99" result="shape"/>
|
||||
</filter>
|
||||
<filter id="filter2_d_5_99" x="280" y="172" width="142" height="142" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset/>
|
||||
<feGaussianBlur stdDeviation="3.5"/>
|
||||
<feComposite in2="hardAlpha" operator="out"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.1 0"/>
|
||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5_99"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5_99" result="shape"/>
|
||||
</filter>
|
||||
<filter id="filter3_d_5_99" x="420" y="172" width="142" height="142" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset/>
|
||||
<feGaussianBlur stdDeviation="3.5"/>
|
||||
<feComposite in2="hardAlpha" operator="out"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.1 0"/>
|
||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5_99"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5_99" result="shape"/>
|
||||
</filter>
|
||||
<filter id="filter4_d_5_99" x="0" y="312" width="142" height="142" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset/>
|
||||
<feGaussianBlur stdDeviation="3.5"/>
|
||||
<feComposite in2="hardAlpha" operator="out"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.1 0"/>
|
||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5_99"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5_99" result="shape"/>
|
||||
</filter>
|
||||
<filter id="filter5_d_5_99" x="140" y="312" width="142" height="142" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset/>
|
||||
<feGaussianBlur stdDeviation="3.5"/>
|
||||
<feComposite in2="hardAlpha" operator="out"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.1 0"/>
|
||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5_99"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5_99" result="shape"/>
|
||||
</filter>
|
||||
<filter id="filter6_d_5_99" x="280" y="312" width="142" height="142" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset/>
|
||||
<feGaussianBlur stdDeviation="3.5"/>
|
||||
<feComposite in2="hardAlpha" operator="out"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.1 0"/>
|
||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5_99"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5_99" result="shape"/>
|
||||
</filter>
|
||||
<filter id="filter7_d_5_99" x="420" y="312" width="142" height="142" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
|
||||
<feFlood flood-opacity="0" result="BackgroundImageFix"/>
|
||||
<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
|
||||
<feOffset/>
|
||||
<feGaussianBlur stdDeviation="3.5"/>
|
||||
<feComposite in2="hardAlpha" operator="out"/>
|
||||
<feColorMatrix type="matrix" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.1 0"/>
|
||||
<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_5_99"/>
|
||||
<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_5_99" result="shape"/>
|
||||
</filter>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 12 KiB |
BIN
docs/assets/img/logo-v1@0.5x.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
docs/assets/img/logo-v1@0.75x.png
Normal file
After Width: | Height: | Size: 38 KiB |
|
@ -1,73 +0,0 @@
|
|||
# Migration guide from v1 to v2
|
||||
|
||||
Hello there!
|
||||
|
||||
I am so happy to see you here and are interested in using the new version of tmux-gruvbox theme.
|
||||
|
||||
I really try to do all my best giving you new, interesting features that you probably always wanted to have.
|
||||
|
||||
In here I also wanted to thank you all people involved in contributing to this theme 🙏🙇. Especially for adding all suggestions, or reporting problems if they occurred - this helped a lot!
|
||||
|
||||
## What's new?
|
||||
|
||||
There are couple of great things ahead:
|
||||
|
||||
- new themes supporting 16-bit color palette
|
||||
- new fully customizable spaces A, X, Y, Z for your disposal
|
||||
- support for transparency (experimental)
|
||||
- and many more
|
||||
|
||||
See what's new in [CHANGELOG][docs-changelog].
|
||||
|
||||
## Breaking changes
|
||||
|
||||
I planned to have best possible user experience between migrating from v1 and v2, therefore tried to build new changes this way to keep the breaking changes as low as possible. This was not ideal, although I believe for many this would not require many changes and for some none.
|
||||
|
||||
### Theme names changes
|
||||
|
||||
| v1 | v2 | description |
|
||||
| :-----------------: | :--------: | ----------------------------------------------------------------------- |
|
||||
| `dark` | `dark256` | 256-colors theme |
|
||||
| `light` | `light256` | 256-colors theme |
|
||||
| `dark-transparent` | ∅ | set `dark` or `dark256` theme and add `@tmux-gruvbox-statusbar-alpha` |
|
||||
| `light-transparent` | ∅ | set `light` or `light256` theme and add `@tmux-gruvbox-statusbar-alpha` |
|
||||
|
||||
In v2 we've introduced a 16-bit color themes that should give the users more happiness utilizing a greater amount of supported colors (full gruvbox palette).
|
||||
|
||||
Therefore in v2 themes `light` & `dark` has been simply renamed and `256` postfix has been added to indicate used palette. In v2 `light` & `dark` themes will be refering to 16-bit versions.
|
||||
|
||||
> [!NOTE]
|
||||
> While implementing 16-bit colors I realized that many users (including me) had problems with setting up correct the color interpretation in their workspace to support multiple colors.
|
||||
>
|
||||
> Here is the page [True Color (24-bit) and italics with alacritty + tmux + vim (neovim)][github-gist-andersevenrud-alacritty-tmux-vim-truecolor] where I found great wisdom how to adjust my terminal, especially when used alacritty, tmux & neovim.
|
||||
|
||||
### Fallback theme name
|
||||
|
||||
| v1 | v2 |
|
||||
| :----: | :-------: |
|
||||
| `dark` | `dark256` |
|
||||
|
||||
Continuing topic of introducing 16-bit colors, we have make slight change in fallback theme name. We love idea adding new colors to our theme, although during those changes we cannot forget about users whose terminals might not support more then basic 256 colors. Therefore the fallback theme name also has to be adapted and in v2 it's `dark256`.
|
||||
|
||||
## FAQ
|
||||
|
||||
### Plugin not upgrading automatically with tmux update
|
||||
|
||||
Error ([source](https://github.com/egel/tmux-gruvbox/issues/21#issuecomment-2373794273)):
|
||||
|
||||
```
|
||||
"tmux-gruvbox" update fail
|
||||
| fatal: couldn't find remote ref refs/heads/master
|
||||
```
|
||||
|
||||
Solution:
|
||||
|
||||
We recently migrate from `master` to `main` as the primary branch, therefore tmux plugin manager using old reference to master and it's not possible to pull.
|
||||
|
||||
The simplest way would be to:
|
||||
|
||||
1. remove the plugin `rm -rf ~/.tmux/plugins/tmux-gruvbox`
|
||||
2. and reinstall it again via tpm key-binding `<prefix>` + `I`.
|
||||
|
||||
[docs-changelog]: ../CHANGELOG.md
|
||||
[github-gist-andersevenrud-alacritty-tmux-vim-truecolor]: https://gist.github.com/andersevenrud/015e61af2fd264371032763d4ed965b6
|
|
@ -1,6 +1,30 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
source "${CURRENT_DIR}/src/gruvbox-main.sh"
|
||||
SCRIPT_SRC="$(dirname "${BASH_SOURCE[${#BASH_SOURCE[@]} - 1]}")"
|
||||
readonly SCRIPT_SRC
|
||||
CURRENT_DIR=$(cd "${SCRIPT_SRC}" >/dev/null 2>&1 && pwd)
|
||||
readonly CURRENT_DIR
|
||||
readonly THEME_OPTION="@tmux-gruvbox"
|
||||
readonly DEFAULT_THEME="dark"
|
||||
|
||||
get_theme() {
|
||||
local option="$1"
|
||||
local default_value="$2"
|
||||
local option_value
|
||||
option_value=$(tmux show-option -gqv "$option")
|
||||
if [ -z "$option_value" ]; then
|
||||
echo "$default_value"
|
||||
else
|
||||
echo "$option_value"
|
||||
fi
|
||||
}
|
||||
|
||||
main() {
|
||||
local theme
|
||||
theme=$(get_theme "$THEME_OPTION" "$DEFAULT_THEME")
|
||||
tmux source-file "$CURRENT_DIR/tmux-gruvbox-${theme}.conf"
|
||||
}
|
||||
|
||||
main "$@"
|
||||
|
||||
# vim: ai et ft=bash
|
||||
|
|
|
@ -1,98 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
readonly CURRENT_DIR
|
||||
|
||||
# hold the array of all command to configure tmux theme
|
||||
declate -a TMUX_CMDS
|
||||
|
||||
# load libraries
|
||||
# shellcheck disable=1091
|
||||
source "${CURRENT_DIR}/helper_methods.sh"
|
||||
# shellcheck disable=1091
|
||||
source "${CURRENT_DIR}/tmux_utils.sh"
|
||||
|
||||
readonly TMUX_GRUVBOX="@tmux-gruvbox"
|
||||
readonly TMUX_GRUVBOX_STATUSBAR_ALPHA="@tmux-gruvbox-statusbar-alpha"
|
||||
readonly TMUX_GRUVBOX_LEFT_STATUS_A="@tmux-gruvbox-left-status-a"
|
||||
readonly TMUX_GRUVBOX_RIGHT_STAUTS_X="@tmux-gruvbox-right-status-x"
|
||||
readonly TMUX_GRUVBOX_RIGHT_STAUTS_Y="@tmux-gruvbox-right-status-y"
|
||||
readonly TMUX_GRUVBOX_RIGHT_STAUTS_Z="@tmux-gruvbox-right-status-z"
|
||||
|
||||
# define simple theme options (no color interpolation required)
|
||||
readonly DEFAULT_THEME="dark256"
|
||||
readonly DEFAULT_STATUSBAR_ALPHA='false'
|
||||
# defaults for theme option (with color interpolation)
|
||||
readonly DEFAULT_LEFT_STATUS_A=' '
|
||||
readonly DEFAULT_RIGHT_STATUS_X='%d.%m.%Y'
|
||||
readonly DEFAULT_RIGHT_STATUS_Y='%H:%M'
|
||||
readonly DEFAULT_RIGHT_STATUS_Z="$USER@#h "
|
||||
|
||||
main() {
|
||||
TMUX_CMDS=() # clear
|
||||
|
||||
# load proper palette for the theme asap to avoid additional variable interpolation
|
||||
local _theme
|
||||
_theme=$(tmux_get_option "${TMUX_GRUVBOX}" "${DEFAULT_THEME}")
|
||||
_statusbar_alpha=$(tmux_get_option "${TMUX_GRUVBOX_STATUSBAR_ALPHA}" "${DEFAULT_STATUSBAR_ALPHA}")
|
||||
|
||||
case "$_theme" in
|
||||
light)
|
||||
# shellcheck disable=1091
|
||||
source "${CURRENT_DIR}/palette_gruvbox_light.sh"
|
||||
# shellcheck disable=1091
|
||||
source "${CURRENT_DIR}/theme_gruvbox_light.sh"
|
||||
;;
|
||||
light256)
|
||||
# shellcheck disable=1091
|
||||
source "${CURRENT_DIR}/palette_gruvbox_light256.sh"
|
||||
# shellcheck disable=1091
|
||||
source "${CURRENT_DIR}/theme_gruvbox_light256.sh"
|
||||
;;
|
||||
dark)
|
||||
# shellcheck disable=1091
|
||||
source "${CURRENT_DIR}/palette_gruvbox_dark.sh"
|
||||
# shellcheck disable=1091
|
||||
source "${CURRENT_DIR}/theme_gruvbox_dark.sh"
|
||||
;;
|
||||
dark256 | *)
|
||||
# shellcheck disable=1091
|
||||
source "${CURRENT_DIR}/palette_gruvbox_dark256.sh"
|
||||
# shellcheck disable=1091
|
||||
source "${CURRENT_DIR}/theme_gruvbox_dark.sh"
|
||||
;;
|
||||
esac
|
||||
|
||||
local _status_left _status_right _window_status_current_format _window_status_format
|
||||
_status_left_a=$(tmux_get_option "$TMUX_GRUVBOX_LEFT_STATUS_A" "$DEFAULT_LEFT_STATUS_A")
|
||||
_status_right_x=$(tmux_get_option "$TMUX_GRUVBOX_RIGHT_STAUTS_X" "$DEFAULT_RIGHT_STATUS_X")
|
||||
_status_right_y=$(tmux_get_option "$TMUX_GRUVBOX_RIGHT_STAUTS_Y" "$DEFAULT_RIGHT_STATUS_Y")
|
||||
_status_right_z=$(tmux_get_option "$TMUX_GRUVBOX_RIGHT_STAUTS_Z" "$DEFAULT_RIGHT_STATUS_Z")
|
||||
|
||||
local _theme_args
|
||||
_theme_args=(
|
||||
"$_status_left_a"
|
||||
"$_status_right_x"
|
||||
"$_status_right_y"
|
||||
"$_status_right_z"
|
||||
"$_statusbar_alpha"
|
||||
)
|
||||
|
||||
case $_theme in
|
||||
light256)
|
||||
# light256 have slightly different colors placement then regular light 16-bit
|
||||
theme_set_light256 "${_theme_args[@]}"
|
||||
;;
|
||||
light)
|
||||
theme_set_light "${_theme_args[@]}"
|
||||
;;
|
||||
dark | dark256 | *)
|
||||
theme_set_dark "${_theme_args[@]}"
|
||||
;;
|
||||
esac
|
||||
|
||||
# execute commands with tmux as array of options
|
||||
tmux "${TMUX_CMDS[@]}"
|
||||
}
|
||||
|
||||
main "$@"
|
|
@ -1,19 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# simply print passed array
|
||||
#
|
||||
# example
|
||||
#
|
||||
# myarray=()
|
||||
# print_array myarray
|
||||
#
|
||||
print_array() {
|
||||
local -n arr # -n available over bash 4.3
|
||||
arr=$1
|
||||
|
||||
echo ""
|
||||
echo "begin >>>"
|
||||
printf "%s\n" "${arr[@]}"
|
||||
echo "<<< end"
|
||||
echo ""
|
||||
}
|
|
@ -1,46 +0,0 @@
|
|||
#!/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,46 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
##########################
|
||||
# gruvbox dark256 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=colour235
|
||||
col_bg0_h=colour234
|
||||
col_bg0=colour235
|
||||
col_bg1=colour237
|
||||
col_bg2=colour239
|
||||
col_bg3=colour241
|
||||
col_bg4=colour243
|
||||
col_gray0=colour246
|
||||
col_gray1=colour245
|
||||
col_gray2=colour245
|
||||
col_bg0_s=colour236
|
||||
col_fg=colour223
|
||||
col_fg4=colour246
|
||||
col_fg3=colour167
|
||||
col_fg2=colour250
|
||||
col_fg1=colour223
|
||||
col_fg0=colour229
|
||||
|
||||
col_red=colour124
|
||||
col_red2=colour167
|
||||
col_green=colour106
|
||||
col_green2=colour142
|
||||
col_yellow=colour172
|
||||
col_yellow2=colour214
|
||||
col_blue=colour66
|
||||
col_blue2=colour109
|
||||
col_purple=colour132
|
||||
col_purple2=colour175
|
||||
col_aqua=colour72
|
||||
col_aqua2=colour108
|
||||
col_orange=colour166
|
||||
col_orange2=colour208
|
|
@ -1,46 +0,0 @@
|
|||
#!/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,46 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
##########################
|
||||
# gruvbox light256 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=colour229
|
||||
col_bg0_h=colour230
|
||||
col_bg0=colour229
|
||||
col_bg1=colour223
|
||||
col_bg2=colour250
|
||||
col_bg3=colour248
|
||||
col_bg4=colour246
|
||||
col_gray0=colour246
|
||||
col_gray1=colour245
|
||||
col_gray2=colour244
|
||||
col_bg0_s=colour228
|
||||
col_fg=colour223
|
||||
col_fg4=colour243
|
||||
col_fg3=colour241
|
||||
col_fg2=colour239
|
||||
col_fg1=colour237
|
||||
col_fg0=colour235
|
||||
|
||||
col_red=colour124
|
||||
col_red2=colour88
|
||||
col_green=colour106
|
||||
col_green2=colour100
|
||||
col_yellow=colour172
|
||||
col_yellow2=colour136
|
||||
col_blue=colour66
|
||||
col_blue2=colour24
|
||||
col_purple=colour132
|
||||
col_purple2=colour96
|
||||
col_aqua=colour72
|
||||
col_aqua2=colour66
|
||||
col_orange=colour166
|
||||
col_orange2=colour130
|
|
@ -1,79 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Themes may use different colors in sets therefore we setup dark and light
|
||||
# separately.
|
||||
#
|
||||
# shellcheck disable=SC2154
|
||||
theme_set_dark() {
|
||||
local _left_status_a _right_status_x _right_status_y _right_status_z _statusbar_alpha
|
||||
_left_status_a=$1
|
||||
_right_status_x=$2
|
||||
_right_status_y=$3
|
||||
_right_status_z=$4
|
||||
_statusbar_alpha=$5
|
||||
|
||||
tmux_append_seto "status" "on"
|
||||
|
||||
# default statusbar bg color
|
||||
local _statusbar_bg="${col_bg1}"
|
||||
if [[ "$_statusbar_alpha" == "true" ]]; then _statusbar_bg="default"; fi
|
||||
tmux_append_seto "status-style" "bg=${_statusbar_bg},fg=${col_fg1}"
|
||||
|
||||
# default window title colors
|
||||
local _window_title_bg=${col_yellow2}
|
||||
if [[ "$_statusbar_alpha" == "true" ]]; then _window_title_bg="default"; fi
|
||||
tmux_append_setwo "window-status-style" "bg=${_window_title_bg},fg=${col_bg1}"
|
||||
|
||||
# default window with an activity alert
|
||||
tmux_append_setwo "window-status-activity-style" "bg=${col_bg1},fg=${col_fg3}"
|
||||
|
||||
# active window title colors
|
||||
local _active_window_title_bg=${col_yellow2}
|
||||
if [[ "$_statusbar_alpha" == "true" ]]; then _active_window_title_bg="default"; fi
|
||||
tmux_append_setwo "window-status-current-style" "bg=${_active_window_title_bg},fg=${col_bg1}" # TODO cosider removing red!
|
||||
|
||||
# pane border
|
||||
tmux_append_seto "pane-active-border-style" "fg=${col_fg2}"
|
||||
tmux_append_seto "pane-border-style" "fg=${col_bg1}"
|
||||
|
||||
# message infos
|
||||
tmux_append_seto "message-style" "bg=${col_bg2},fg=${col_fg1}"
|
||||
|
||||
# writing commands inactive
|
||||
tmux_append_seto "message-command-style" "bg=${col_fg3},fg=${col_bg1}"
|
||||
|
||||
# pane number display
|
||||
tmux_append_seto "display-panes-active-colour" "${col_fg2}"
|
||||
tmux_append_seto "display-panes-colour" "${col_bg1}"
|
||||
|
||||
# clock
|
||||
tmux_append_setwo "clock-mode-colour" "${col_blue2}"
|
||||
|
||||
# bell
|
||||
tmux_append_setwo "window-status-bell-style" "bg=${col_red2},fg=${col_bg}"
|
||||
|
||||
## Theme settings mixed with colors (unfortunately, but there is no cleaner way)
|
||||
tmux_append_seto "status-justify" "left"
|
||||
tmux_append_seto "status-left-style" none
|
||||
tmux_append_seto "status-left-length" "80"
|
||||
tmux_append_seto "status-right-style" none
|
||||
tmux_append_seto "status-right-length" "80"
|
||||
tmux_append_setwo "window-status-separator" ""
|
||||
|
||||
tmux_append_seto "status-left" "#[bg=${col_bg3},fg=${col_fg3}] ${_left_status_a} #[bg=${col_bg1},fg=${col_bg3},nobold,noitalics,nounderscore]"
|
||||
|
||||
# right status
|
||||
local _status_right_bg=${col_bg1}
|
||||
if [[ "$_statusbar_alpha" == "true" ]]; then _status_right_bg="default"; fi
|
||||
tmux_append_seto "status-right" "#[bg=${_status_right_bg},fg=${col_bg2},nobold,nounderscore,noitalics]#[bg=${col_bg2},fg=${col_fg4}] ${_right_status_x} ${_right_status_y} #[bg=${col_bg2},fg=${col_fg3},nobold,noitalics,nounderscore]#[bg=${col_fg3},fg=${col_bg1}] ${_right_status_z}"
|
||||
|
||||
# current window
|
||||
local _current_window_status_format_bg=${col_bg1}
|
||||
if [[ "$_statusbar_alpha" == "true" ]]; then _current_window_status_format_bg="default"; fi
|
||||
tmux_append_setwo "window-status-current-format" "#[bg=${col_yellow2},fg=${col_bg1},nobold,noitalics,nounderscore]#[bg=${col_yellow2},fg=${col_bg2}] #I #[bg=${col_yellow2},fg=${col_bg2},bold] #W#{?window_zoomed_flag,*Z,} #{?window_end_flag,#[bg=${_current_window_status_format_bg}],#[bg=${col_bg1}]}#[fg=${col_yellow2},nobold,noitalics,nounderscore]"
|
||||
|
||||
# default window
|
||||
local _default_window_status_format_bg=${col_bg1}
|
||||
if [[ "$_statusbar_alpha" == "true" ]]; then _default_window_status_format_bg="default"; fi
|
||||
tmux_append_setwo "window-status-format" "#[bg=${col_bg2},fg=${col_bg1},noitalics]#[bg=${col_bg2},fg=${col_fg1}] #I #[bg=${col_bg2},fg=${col_fg1}] #W #{?window_end_flag,#[bg=${_default_window_status_format_bg}],#[bg=${col_bg1}]}#[fg=${col_bg2},noitalics]"
|
||||
}
|
|
@ -1,79 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Themes may use different colors in sets therefore we setup dark and light
|
||||
# separately.
|
||||
#
|
||||
# shellcheck disable=SC2154
|
||||
theme_set_light() {
|
||||
local _left_status_a _right_status_x _right_status_y _right_status_z _statusbar_alpha
|
||||
_left_status_a=$1
|
||||
_right_status_x=$2
|
||||
_right_status_y=$3
|
||||
_right_status_z=$4
|
||||
_statusbar_alpha=$5
|
||||
|
||||
tmux_append_seto "status" "on"
|
||||
|
||||
# default statusbar bg color
|
||||
local _statusbar_bg="${col_bg1}"
|
||||
if [[ "$_statusbar_alpha" == "true" ]]; then _statusbar_bg="default"; fi
|
||||
tmux_append_seto "status-style" "bg=${_statusbar_bg},fg=${col_fg1}"
|
||||
|
||||
# default window title colors
|
||||
local _window_title_bg=${col_yellow2}
|
||||
if [[ "$_statusbar_alpha" == "true" ]]; then _window_title_bg="default"; fi
|
||||
tmux_append_setwo "window-status-style" "bg=${_window_title_bg},fg=${col_bg1}"
|
||||
|
||||
# default window with an activity alert
|
||||
tmux_append_setwo "window-status-activity-style" "bg=${col_bg1},fg=${col_fg3}"
|
||||
|
||||
# active window title colors
|
||||
local _active_window_title_bg=${col_yellow2}
|
||||
if [[ "$_statusbar_alpha" == "true" ]]; then _active_window_title_bg="default"; fi
|
||||
tmux_append_setwo "window-status-current-style" "bg=${_active_window_title_bg},fg=${col_bg1}" # TODO cosider removing red!
|
||||
|
||||
# pane border
|
||||
tmux_append_seto "pane-active-border-style" "fg=${col_fg2}"
|
||||
tmux_append_seto "pane-border-style" "fg=${col_bg1}"
|
||||
|
||||
# message infos
|
||||
tmux_append_seto "message-style" "bg=${col_bg2},fg=${col_fg1}"
|
||||
|
||||
# writing commands inactive
|
||||
tmux_append_seto "message-command-style" "bg=${col_fg3},fg=${col_bg1}"
|
||||
|
||||
# pane number display
|
||||
tmux_append_seto "display-panes-active-colour" "${col_fg2}"
|
||||
tmux_append_seto "display-panes-colour" "${col_bg1}"
|
||||
|
||||
# clock
|
||||
tmux_append_setwo "clock-mode-colour" "${col_blue2}"
|
||||
|
||||
# bell
|
||||
tmux_append_setwo "window-status-bell-style" "bg=${col_red2},fg=${col_bg}"
|
||||
|
||||
## Theme settings mixed with colors (unfortunately, but there is no cleaner way)
|
||||
tmux_append_seto "status-justify" "left"
|
||||
tmux_append_seto "status-left-style" none
|
||||
tmux_append_seto "status-left-length" "80"
|
||||
tmux_append_seto "status-right-style" none
|
||||
tmux_append_seto "status-right-length" "80"
|
||||
tmux_append_setwo "window-status-separator" ""
|
||||
|
||||
tmux_append_seto "status-left" "#[bg=${col_bg3},fg=${col_fg3}] ${_left_status_a} #[bg=${col_bg1},fg=${col_bg3},nobold,noitalics,nounderscore]"
|
||||
|
||||
# right status
|
||||
local _status_right_bg=${col_bg1}
|
||||
if [[ "$_statusbar_alpha" == "true" ]]; then _status_right_bg="default"; fi
|
||||
tmux_append_seto "status-right" "#[bg=${_status_right_bg},fg=${col_bg2},nobold,nounderscore,noitalics]#[bg=${col_bg2},fg=${col_fg4}] ${_right_status_x} ${_right_status_y} #[bg=${col_bg2},fg=${col_fg3},nobold,noitalics,nounderscore]#[bg=${col_fg3},fg=${col_bg1}] ${_right_status_z}"
|
||||
|
||||
# current window
|
||||
local _current_window_status_format_bg=${col_bg1}
|
||||
if [[ "$_statusbar_alpha" == "true" ]]; then _current_window_status_format_bg="default"; fi
|
||||
tmux_append_setwo "window-status-current-format" "#[bg=${col_yellow2},fg=${col_bg1},nobold,noitalics,nounderscore]#[bg=${col_yellow2},fg=${col_bg2}] #I #[bg=${col_yellow2},fg=${col_bg2},bold] #W#{?window_zoomed_flag,*Z,} #{?window_end_flag,#[bg=${_current_window_status_format_bg}],#[bg=${col_bg1}]}#[fg=${col_yellow2},nobold,noitalics,nounderscore]"
|
||||
|
||||
# default window
|
||||
local _default_window_status_format_bg=${col_bg1}
|
||||
if [[ "$_statusbar_alpha" == "true" ]]; then _default_window_status_format_bg="default"; fi
|
||||
tmux_append_setwo "window-status-format" "#[bg=${col_bg2},fg=${col_bg1},noitalics]#[bg=${col_bg2},fg=${col_fg1}] #I #[bg=${col_bg2},fg=${col_fg1}] #W #{?window_end_flag,#[bg=${_default_window_status_format_bg}],#[bg=${col_bg1}]}#[fg=${col_bg2},noitalics]"
|
||||
}
|
|
@ -1,79 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Themes may use different colors in sets therefore we setup dark and light
|
||||
# separately.
|
||||
#
|
||||
# shellcheck disable=SC2154
|
||||
theme_set_light256() {
|
||||
local _left_status_a _right_status_x _right_status_y _right_status_z _statusbar_alpha
|
||||
_left_status_a=$1
|
||||
_right_status_x=$2
|
||||
_right_status_y=$3
|
||||
_right_status_z=$4
|
||||
_statusbar_alpha=$5
|
||||
|
||||
tmux_append_seto "status" "on"
|
||||
|
||||
# default statusbar bg color
|
||||
local _statusbar_bg="${col_bg2}"
|
||||
if [[ "$_statusbar_alpha" == "true" ]]; then _statusbar_bg="default"; fi
|
||||
tmux_append_seto "status-style" "bg=${_statusbar_bg},fg=${col_fg1}"
|
||||
|
||||
# default window title colors
|
||||
local _window_title_bg=${col_yellow2}
|
||||
if [[ "$_statusbar_alpha" == "true" ]]; then _window_title_bg="default"; fi
|
||||
tmux_append_setwo "window-status-style" "bg=${_window_title_bg},fg=${col_bg1}"
|
||||
|
||||
# default window with an activity alert
|
||||
tmux_append_setwo "window-status-activity-style" "bg=${col_bg1},fg=${col_fg3}"
|
||||
|
||||
# active window title colors
|
||||
local _active_window_title_bg=${col_yellow2}
|
||||
if [[ "$_statusbar_alpha" == "true" ]]; then _active_window_title_bg="default"; fi
|
||||
tmux_append_setwo "window-status-current-style" "bg=${_active_window_title_bg},fg=${col_bg1}" # TODO cosider removing red!
|
||||
|
||||
# pane border
|
||||
tmux_append_seto "pane-active-border-style" "fg=${col_fg2}"
|
||||
tmux_append_seto "pane-border-style" "fg=${col_bg1}"
|
||||
|
||||
# message infos
|
||||
tmux_append_seto "message-style" "bg=${col_bg2},fg=${col_fg1}"
|
||||
|
||||
# writing commands inactive
|
||||
tmux_append_seto "message-command-style" "bg=${col_fg3},fg=${col_bg1}"
|
||||
|
||||
# pane number display
|
||||
tmux_append_seto "display-panes-active-colour" "${col_fg2}"
|
||||
tmux_append_seto "display-panes-colour" "${col_bg1}"
|
||||
|
||||
# clock
|
||||
tmux_append_setwo "clock-mode-colour" "${col_blue2}"
|
||||
|
||||
# bell
|
||||
tmux_append_setwo "window-status-bell-style" "bg=${col_red2},fg=${col_bg}"
|
||||
|
||||
## Theme settings mixed with colors (unfortunately, but there is no cleaner way)
|
||||
tmux_append_seto "status-justify" "left"
|
||||
tmux_append_seto "status-left-style" none
|
||||
tmux_append_seto "status-left-length" "80"
|
||||
tmux_append_seto "status-right-style" none
|
||||
tmux_append_seto "status-right-length" "80"
|
||||
tmux_append_setwo "window-status-separator" ""
|
||||
|
||||
tmux_append_seto "status-left" "#[bg=${col_fg2},fg=${col_bg1}] ${_left_status_a} #[bg=${col_bg2},fg=${col_fg2},nobold,noitalics,nounderscore]"
|
||||
|
||||
# right status
|
||||
local _status_right_bg=${col_bg2}
|
||||
if [[ "$_statusbar_alpha" == "true" ]]; then _status_right_bg="default"; fi
|
||||
tmux_append_seto "status-right" "#[bg=${_status_right_bg},fg=${col_fg4},nobold,nounderscore,noitalics]#[bg=${col_fg4},fg=${col_bg1}] ${_right_status_x} ${_right_status_y} #[bg=${col_fg4},fg=${col_fg2},nobold,noitalics,nounderscore]#[bg=${col_fg2},fg=${col_bg1}] ${_right_status_z}"
|
||||
|
||||
# current window
|
||||
local _current_window_status_format_bg=${col_bg2}
|
||||
if [[ "$_statusbar_alpha" == "true" ]]; then _current_window_status_format_bg="default"; fi
|
||||
tmux_append_setwo "window-status-current-format" "#[bg=${col_yellow},fg=${col_bg2},nobold,noitalics,nounderscore]#[bg=${col_yellow},fg=${col_fg1}] #I #[bg=${col_yellow},fg=${col_fg1},bold] #W#{?window_zoomed_flag,*Z,} #{?window_end_flag,#[bg=${_current_window_status_format_bg}],#[bg=${col_bg2}]}#[fg=${col_yellow},nobold,noitalics,nounderscore]"
|
||||
|
||||
# default window
|
||||
local _default_window_status_format_bg=${col_bg2}
|
||||
if [[ "$_statusbar_alpha" == "true" ]]; then _default_window_status_format_bg="default"; fi
|
||||
tmux_append_setwo "window-status-format" "#[bg=${col_bg3},fg=${col_bg2},noitalics]#[bg=${col_bg3},fg=${col_fg2}] #I #[bg=${col_bg3},fg=${col_fg2}] #W #{?window_end_flag,#[bg=${_default_window_status_format_bg}],#[bg=${col_bg2}]}#[fg=${col_bg3},noitalics]"
|
||||
}
|
|
@ -1,63 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
# get desired tmux option or use given default value
|
||||
tmux_get_option() {
|
||||
local _option_name _default_value
|
||||
_option_name="$1"
|
||||
_default_value="$2"
|
||||
|
||||
local _current_option_value
|
||||
_current_option_value=$(tmux show-option -gqv "$_option_name")
|
||||
if [[ -n "$_current_option_value" ]]; then
|
||||
echo "$_current_option_value"
|
||||
else
|
||||
echo "$_default_value"
|
||||
fi
|
||||
}
|
||||
|
||||
# get desired window-option from tmux or default
|
||||
tmux_get_window_option() {
|
||||
local _option_name _default_value
|
||||
_option_name="$1"
|
||||
_default_value="$2"
|
||||
|
||||
local _current_option_value
|
||||
_current_option_value=$(tmux show-window-option -gqv "$_option_name")
|
||||
if [[ -n "$_current_option_value" ]]; then
|
||||
echo "$_current_option_value"
|
||||
else
|
||||
echo "$_default_value"
|
||||
fi
|
||||
}
|
||||
|
||||
# append preconfigured tmux set-option to global array
|
||||
tmux_append_seto() {
|
||||
local _option _value _result
|
||||
_option="$1"
|
||||
_value="$2"
|
||||
TMUX_CMDS+=("set-option" "-gq" "${_option}" "${_value}" ";")
|
||||
}
|
||||
|
||||
# append preconfigured tmux set-window-option to global array
|
||||
tmux_append_setwo() {
|
||||
local _option _value _result
|
||||
_option="$1"
|
||||
_value="$2"
|
||||
TMUX_CMDS+=("set-window-option" "-gq" "${_option}" "${_value}" ";")
|
||||
}
|
||||
|
||||
# imediately execute tmux option
|
||||
tmux_set_option_now() {
|
||||
local _option_name _value
|
||||
_option_name="$1"
|
||||
_value="$2"
|
||||
tmux set-option -gq "$_option_name" "$_value"
|
||||
}
|
||||
|
||||
# imediately execute tmux option
|
||||
tmux_set_window_option_now() {
|
||||
local _option_name _value
|
||||
_option_name="$1"
|
||||
_value="$2"
|
||||
tmux set-window-option -gq "$_option_name" "$_value"
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
# Linux tests
|
||||
|
||||
Those tests are meant to run on linux:
|
||||
|
||||
- ubuntu 20.04 LTS
|
||||
- with bash
|
|
@ -1,57 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
source "${CURRENT_DIR}/../test_helpers.sh"
|
||||
|
||||
main() {
|
||||
helper_tearup_linux
|
||||
|
||||
cat <<EOF >~/.tmux.conf
|
||||
# List of plugins
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
|
||||
# Other plugins
|
||||
set -g @plugin 'egel/tmux-gruvbox'
|
||||
set -g @tmux-gruvbox 'dark256'
|
||||
|
||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
EOF
|
||||
|
||||
cat ~/.tmux.conf
|
||||
|
||||
# it's essential to link current repo to the plugins' directory
|
||||
ln -sfv "$CURRENT_DIR/../../../tmux-gruvbox" "${HOME}/.tmux/plugins/tmux-gruvbox"
|
||||
|
||||
helper_install_tpm_plugins
|
||||
|
||||
# start new detached session
|
||||
tmux new -d
|
||||
|
||||
# check if left side match
|
||||
_status_left_expected="#[bg=colour241,fg=colour248] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]"
|
||||
_status_left_current=$(helper_tmux_get_statusleft)
|
||||
if [[ "$_status_left_current" != "$_status_left_expected" ]]; then
|
||||
helper_print_fail "status-left did not match" "$_status_left_current" "$_status_left_expected"
|
||||
helper_teardown
|
||||
exit 1
|
||||
fi
|
||||
# check if status is not transparent
|
||||
_status_style_expected="bg=colour237,fg=colour223"
|
||||
_status_style_current=$(helper_tmux_get_statusstyle)
|
||||
if [[ "$_status_style_current" != "$_status_style_expected" ]]; then
|
||||
helper_print_fail "status-style did not match" "$_status_style_current" "$_status_style_expected"
|
||||
helper_teardown
|
||||
exit 1
|
||||
fi
|
||||
|
||||
helper_print_success "status-left match"
|
||||
helper_teardown
|
||||
exit 0
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
|
@ -1,58 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
source "${CURRENT_DIR}/../test_helpers.sh"
|
||||
|
||||
main() {
|
||||
helper_tearup_linux
|
||||
|
||||
cat <<EOF >~/.tmux.conf
|
||||
# List of plugins
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
|
||||
# Other plugins
|
||||
set -g @plugin 'egel/tmux-gruvbox'
|
||||
set -g @tmux-gruvbox 'dark256'
|
||||
set -g @tmux-gruvbox-statusbar-alpha 'true'
|
||||
|
||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
EOF
|
||||
|
||||
cat ~/.tmux.conf
|
||||
|
||||
# it's essential to link current repo to the plugins' directory
|
||||
ln -sfv "$CURRENT_DIR/../../../tmux-gruvbox" "${HOME}/.tmux/plugins/tmux-gruvbox"
|
||||
|
||||
helper_install_tpm_plugins
|
||||
|
||||
# start new detached session
|
||||
tmux new -d
|
||||
|
||||
# check if left side match
|
||||
_status_left_expected="#[bg=colour241,fg=colour248] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]"
|
||||
_status_left_current=$(helper_tmux_get_statusleft)
|
||||
if [[ "$_status_left_current" != "$_status_left_expected" ]]; then
|
||||
helper_print_fail "status-left did not match" "$_status_left_current" "$_status_left_expected"
|
||||
helper_teardown
|
||||
exit 1
|
||||
fi
|
||||
# check if status is not transparent
|
||||
_status_style_expected="bg=default,fg=colour223"
|
||||
_status_style_current=$(helper_tmux_get_statusstyle)
|
||||
if [[ "$_status_style_current" != "$_status_style_expected" ]]; then
|
||||
helper_print_fail "status-style did not match" "$_status_style_current" "$_status_style_expected"
|
||||
helper_teardown
|
||||
exit 1
|
||||
fi
|
||||
|
||||
helper_print_success "status-left match"
|
||||
helper_teardown
|
||||
exit 0
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
|
@ -1,57 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
source "${CURRENT_DIR}/../test_helpers.sh"
|
||||
|
||||
main() {
|
||||
helper_tearup_linux
|
||||
|
||||
cat <<EOF >~/.tmux.conf
|
||||
# List of plugins
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
|
||||
# Other plugins
|
||||
set -g @plugin 'egel/tmux-gruvbox'
|
||||
set -g @tmux-gruvbox 'dark'
|
||||
|
||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
EOF
|
||||
|
||||
cat ~/.tmux.conf
|
||||
|
||||
# it's essential to link current repo to the plugins' directory
|
||||
ln -sfv "$CURRENT_DIR/../../../tmux-gruvbox" "${HOME}/.tmux/plugins/tmux-gruvbox"
|
||||
|
||||
helper_install_tpm_plugins
|
||||
|
||||
# start new detached session
|
||||
tmux new -d
|
||||
|
||||
# check if left side match
|
||||
_status_left_expected="#[bg=#665c54,fg=#bdae93] #S #[bg=#3c3836,fg=#665c54,nobold,noitalics,nounderscore]"
|
||||
_status_left_current=$(helper_tmux_get_statusleft)
|
||||
if [[ "$_status_left_current" != "$_status_left_expected" ]]; then
|
||||
helper_print_fail "status-left did not match" "$_status_left_current" "$_status_left_expected"
|
||||
helper_teardown
|
||||
exit 1
|
||||
fi
|
||||
# check if status is not transparent
|
||||
_status_style_expected="bg=#3c3836,fg=#ebdbb2"
|
||||
_status_style_current=$(helper_tmux_get_statusstyle)
|
||||
if [[ "$_status_style_current" != "$_status_style_expected" ]]; then
|
||||
helper_print_fail "status-style did not match" "$_status_style_current" "$_status_style_expected"
|
||||
helper_teardown
|
||||
exit 1
|
||||
fi
|
||||
|
||||
helper_print_success "status-left match"
|
||||
helper_teardown
|
||||
exit 0
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
|
@ -1,58 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
source "${CURRENT_DIR}/../test_helpers.sh"
|
||||
|
||||
main() {
|
||||
helper_tearup_linux
|
||||
|
||||
cat <<EOF >~/.tmux.conf
|
||||
# List of plugins
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
|
||||
# Other plugins
|
||||
set -g @plugin 'egel/tmux-gruvbox'
|
||||
set -g @tmux-gruvbox 'dark'
|
||||
set -g @tmux-gruvbox-statusbar-alpha 'true'
|
||||
|
||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
EOF
|
||||
|
||||
cat ~/.tmux.conf
|
||||
|
||||
# it's essential to link current repo to the plugins' directory
|
||||
ln -sfv "$CURRENT_DIR/../../../tmux-gruvbox" "${HOME}/.tmux/plugins/tmux-gruvbox"
|
||||
|
||||
helper_install_tpm_plugins
|
||||
|
||||
# start new detached session
|
||||
tmux new -d
|
||||
|
||||
# check if left side match
|
||||
_status_left_expected="#[bg=#665c54,fg=#bdae93] #S #[bg=#3c3836,fg=#665c54,nobold,noitalics,nounderscore]"
|
||||
_status_left_current=$(helper_tmux_get_statusleft)
|
||||
if [[ "$_status_left_current" != "$_status_left_expected" ]]; then
|
||||
helper_print_fail "status-left did not match" "$_status_left_current" "$_status_left_expected"
|
||||
helper_teardown
|
||||
exit 1
|
||||
fi
|
||||
# check if status is not transparent
|
||||
_status_style_expected="bg=default,fg=#ebdbb2"
|
||||
_status_style_current=$(helper_tmux_get_statusstyle)
|
||||
if [[ "$_status_style_current" != "$_status_style_expected" ]]; then
|
||||
helper_print_fail "status-style did not match" "$_status_style_current" "$_status_style_expected"
|
||||
helper_teardown
|
||||
exit 1
|
||||
fi
|
||||
|
||||
helper_print_success "status-left match"
|
||||
helper_teardown
|
||||
exit 0
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
|
@ -1,57 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
source "${CURRENT_DIR}/../test_helpers.sh"
|
||||
|
||||
main() {
|
||||
helper_tearup_linux
|
||||
|
||||
cat <<EOF >~/.tmux.conf
|
||||
# List of plugins
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
|
||||
# Other plugins
|
||||
set -g @plugin 'egel/tmux-gruvbox'
|
||||
set -g @tmux-gruvbox 'light256'
|
||||
|
||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
EOF
|
||||
|
||||
cat ~/.tmux.conf
|
||||
|
||||
# it's essential to link current repo to the plugins' directory
|
||||
ln -sfv "$CURRENT_DIR/../../../tmux-gruvbox" "${HOME}/.tmux/plugins/tmux-gruvbox"
|
||||
|
||||
helper_install_tpm_plugins
|
||||
|
||||
# start new detached session
|
||||
tmux new -d
|
||||
|
||||
# check if left side match
|
||||
_status_left_expected="#[bg=colour239,fg=colour223] #S #[bg=colour250,fg=colour239,nobold,noitalics,nounderscore]"
|
||||
_status_left_current=$(helper_tmux_get_statusleft)
|
||||
if [[ "$_status_left_current" != "$_status_left_expected" ]]; then
|
||||
helper_print_fail "status-left did not match" "$_status_left_current" "$_status_left_expected"
|
||||
helper_teardown
|
||||
exit 1
|
||||
fi
|
||||
# check if status is not transparent
|
||||
_status_style_expected="bg=colour250,fg=colour237"
|
||||
_status_style_current=$(helper_tmux_get_statusstyle)
|
||||
if [[ "$_status_style_current" != "$_status_style_expected" ]]; then
|
||||
helper_print_fail "status-style did not match" "$_status_style_current" "$_status_style_expected"
|
||||
helper_teardown
|
||||
exit 1
|
||||
fi
|
||||
|
||||
helper_print_success "status-left match"
|
||||
helper_teardown
|
||||
exit 0
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
|
@ -1,60 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
source "${CURRENT_DIR}/../test_helpers.sh"
|
||||
# shellcheck disable=SC1091
|
||||
source "${CURRENT_DIR}/../tmux_utils.sh"
|
||||
|
||||
main() {
|
||||
helper_tearup_linux
|
||||
|
||||
cat <<EOF >~/.tmux.conf
|
||||
# List of plugins
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
|
||||
# Other plugins
|
||||
set -g @plugin 'egel/tmux-gruvbox'
|
||||
set -g @tmux-gruvbox 'light256'
|
||||
set -g @tmux-gruvbox-statusbar-alpha 'true'
|
||||
|
||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
EOF
|
||||
|
||||
cat ~/.tmux.conf
|
||||
|
||||
# it's essential to link current repo to the plugins' directory
|
||||
ln -sfv "$CURRENT_DIR/../../../tmux-gruvbox" "${HOME}/.tmux/plugins/tmux-gruvbox"
|
||||
|
||||
helper_install_tpm_plugins
|
||||
|
||||
# start new detached session
|
||||
tmux new -d
|
||||
|
||||
# check if left side match
|
||||
_status_left_expected="#[bg=colour239,fg=colour223] #S #[bg=colour250,fg=colour239,nobold,noitalics,nounderscore]"
|
||||
_status_left_current=$(helper_tmux_get_statusleft)
|
||||
if [[ "$_status_left_current" != "$_status_left_expected" ]]; then
|
||||
helper_print_fail "status-left did not match" "$_status_left_current" "$_status_left_expected"
|
||||
helper_teardown
|
||||
exit 1
|
||||
fi
|
||||
# check if status is not transparent
|
||||
_status_style_expected="bg=default,fg=colour237"
|
||||
_status_style_current=$(helper_tmux_get_statusstyle)
|
||||
if [[ "$_status_style_current" != "$_status_style_expected" ]]; then
|
||||
helper_print_fail "status-style did not match" "$_status_style_current" "$_status_style_expected"
|
||||
helper_teardown
|
||||
exit 1
|
||||
fi
|
||||
|
||||
helper_print_success "status-left match"
|
||||
helper_teardown
|
||||
exit 0
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
|
@ -1,57 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
source "${CURRENT_DIR}/../test_helpers.sh"
|
||||
|
||||
main() {
|
||||
helper_tearup_linux
|
||||
|
||||
cat <<EOF >~/.tmux.conf
|
||||
# List of plugins
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
|
||||
# Other plugins
|
||||
set -g @plugin 'egel/tmux-gruvbox'
|
||||
set -g @tmux-gruvbox 'light'
|
||||
|
||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
EOF
|
||||
|
||||
cat ~/.tmux.conf
|
||||
|
||||
# it's essential to link current repo to the plugins' directory
|
||||
ln -sfv "$CURRENT_DIR/../../../tmux-gruvbox" "${HOME}/.tmux/plugins/tmux-gruvbox"
|
||||
|
||||
helper_install_tpm_plugins
|
||||
|
||||
# start new detached session
|
||||
tmux new -d
|
||||
|
||||
# check if left side match
|
||||
_status_left_expected="#[bg=#bdae93,fg=#665c54] #S #[bg=#ebdbb2,fg=#bdae93,nobold,noitalics,nounderscore]"
|
||||
_status_left_current=$(helper_tmux_get_statusleft)
|
||||
if [[ "$_status_left_current" != "$_status_left_expected" ]]; then
|
||||
helper_print_fail "status-left did not match" "$_status_left_current" "$_status_left_expected"
|
||||
helper_teardown
|
||||
exit 1
|
||||
fi
|
||||
# check if status is not transparent
|
||||
_status_style_expected="bg=#ebdbb2,fg=#3c3836"
|
||||
_status_style_current=$(helper_tmux_get_statusstyle)
|
||||
if [[ "$_status_style_current" != "$_status_style_expected" ]]; then
|
||||
helper_print_fail "status-style did not match" "$_status_style_current" "$_status_style_expected"
|
||||
helper_teardown
|
||||
exit 1
|
||||
fi
|
||||
|
||||
helper_print_success "status-left match"
|
||||
helper_teardown
|
||||
exit 0
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
|
@ -1,58 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
source "${CURRENT_DIR}/../test_helpers.sh"
|
||||
|
||||
main() {
|
||||
helper_tearup_linux
|
||||
|
||||
cat <<EOF >~/.tmux.conf
|
||||
# List of plugins
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
|
||||
# Other plugins
|
||||
set -g @plugin 'egel/tmux-gruvbox'
|
||||
set -g @tmux-gruvbox 'light'
|
||||
set -g @tmux-gruvbox-statusbar-alpha 'true'
|
||||
|
||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
EOF
|
||||
|
||||
cat ~/.tmux.conf
|
||||
|
||||
# it's essential to link current repo to the plugins' directory
|
||||
ln -sfv "$CURRENT_DIR/../../../tmux-gruvbox" "${HOME}/.tmux/plugins/tmux-gruvbox"
|
||||
|
||||
helper_install_tpm_plugins
|
||||
|
||||
# start new detached session
|
||||
tmux new -d
|
||||
|
||||
# check if left side match
|
||||
_status_left_expected="#[bg=#bdae93,fg=#665c54] #S #[bg=#ebdbb2,fg=#bdae93,nobold,noitalics,nounderscore]"
|
||||
_status_left_current=$(helper_tmux_get_statusleft)
|
||||
if [[ "$_status_left_current" != "$_status_left_expected" ]]; then
|
||||
helper_print_fail "status-left did not match" "$_status_left_current" "$_status_left_expected"
|
||||
helper_teardown
|
||||
exit 1
|
||||
fi
|
||||
# check if status is not transparent
|
||||
_status_style_expected="bg=default,fg=#3c3836"
|
||||
_status_style_current=$(helper_tmux_get_statusstyle)
|
||||
if [[ "$_status_style_current" != "$_status_style_expected" ]]; then
|
||||
helper_print_fail "status-style did not match" "$_status_style_current" "$_status_style_expected"
|
||||
helper_teardown
|
||||
exit 1
|
||||
fi
|
||||
|
||||
helper_print_success "status-left match"
|
||||
helper_teardown
|
||||
exit 0
|
||||
|
||||
}
|
||||
|
||||
main "$@"
|
|
@ -1,59 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
# shellcheck disable=SC1091
|
||||
source "${CURRENT_DIR}/../test_helpers.sh"
|
||||
|
||||
####
|
||||
# Test: when the theme is not defined in config it should fallback to 'dark256'
|
||||
#
|
||||
main() {
|
||||
helper_tearup_linux
|
||||
|
||||
# set config without theme defined
|
||||
cat <<EOF >~/.tmux.conf
|
||||
# List of plugins
|
||||
set -g @plugin 'tmux-plugins/tpm'
|
||||
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||
|
||||
# Other plugins
|
||||
set -g @plugin 'egel/tmux-gruvbox'
|
||||
|
||||
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
||||
run '~/.tmux/plugins/tpm/tpm'
|
||||
EOF
|
||||
|
||||
cat ~/.tmux.conf
|
||||
|
||||
# it's essential to link current repo to the plugins' directory
|
||||
ln -sfv "$CURRENT_DIR/../../../tmux-gruvbox" "${HOME}/.tmux/plugins/tmux-gruvbox"
|
||||
|
||||
helper_install_tpm_plugins
|
||||
|
||||
# start new detached session
|
||||
tmux new -d
|
||||
|
||||
# check if left side match
|
||||
_status_left_expected="#[bg=colour241,fg=colour248] #S #[bg=colour237,fg=colour241,nobold,noitalics,nounderscore]"
|
||||
_status_left_current=$(helper_tmux_get_statusleft)
|
||||
if [[ "$_status_left_current" != "$_status_left_expected" ]]; then
|
||||
helper_print_fail "status-left did not match" "$_status_left_current" "$_status_left_expected"
|
||||
helper_teardown
|
||||
exit 1
|
||||
fi
|
||||
# check if status is not transparent
|
||||
_status_style_expected="bg=colour237,fg=colour223"
|
||||
_status_style_current=$(helper_tmux_get_statusstyle)
|
||||
if [[ "$_status_style_current" != "$_status_style_expected" ]]; then
|
||||
helper_print_fail "status-style did not match" "$_status_style_current" "$_status_style_expected"
|
||||
helper_teardown
|
||||
exit 1
|
||||
fi
|
||||
|
||||
helper_print_success "status-left match"
|
||||
helper_teardown
|
||||
exit 0
|
||||
}
|
||||
|
||||
main "$@"
|
|
@ -1,32 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
|
||||
main() {
|
||||
set -e # exit on error
|
||||
declare -i _countFailures
|
||||
local _files
|
||||
_countFailures=0
|
||||
_files=$(find "$CURRENT_DIR/linux" -name "test_*" -type f)
|
||||
for test in $_files; do
|
||||
printf "\n"
|
||||
printf "\n=============================================="
|
||||
printf "\n %s" "$test"
|
||||
printf "\n=============================================="
|
||||
printf "\n"
|
||||
bash -c "$test"
|
||||
|
||||
# run all and count failures
|
||||
retVal=$?
|
||||
if [ $retVal -eq 1 ]; then
|
||||
_countFailures+=1
|
||||
fi
|
||||
done
|
||||
|
||||
# check if anything failed and fail
|
||||
if [ "$_countFailures" -gt 0 ]; then
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
main "$@"
|
|
@ -1,67 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
helper_teardown() {
|
||||
echo "TEARDOWN"
|
||||
rm -rf ~/.tmux.conf
|
||||
rm -rf ~/.tmux/
|
||||
tmux kill-server >/dev/null 2>&1
|
||||
}
|
||||
|
||||
helper_tearup_linux() {
|
||||
if [[ "$(uname)" != "Linux" ]]; then
|
||||
echo "NOT LINUX. Failed & exit."
|
||||
exit 1
|
||||
fi
|
||||
echo "TEARUP LINUX"
|
||||
|
||||
# install software
|
||||
sudo apt update -y
|
||||
sudo apt install -y tmux git
|
||||
|
||||
# download TPM
|
||||
mkdir -p ~/.tmux/plugins/
|
||||
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
|
||||
}
|
||||
|
||||
helper_print_fail() {
|
||||
local _msg="${1}"
|
||||
local _current_val="${2}"
|
||||
local _expected_val="${3}"
|
||||
printf "FAIL. %s\n" "${_msg}"
|
||||
printf "current value:\t%s\n" "$_current_val"
|
||||
printf "expected value:\t%s\n" "$_expected_val"
|
||||
}
|
||||
|
||||
helper_print_success() {
|
||||
local _msg="${1}"
|
||||
printf "SUCCESS. %s\n" "${_msg}"
|
||||
}
|
||||
|
||||
helper_print_fail_and_exit() {
|
||||
helper_print_fail "$1" "$2" "$3"
|
||||
exit 1
|
||||
}
|
||||
|
||||
helper_print_success_and_exit() {
|
||||
helper_print_success "$1" "$2" "$3"
|
||||
exit 0
|
||||
}
|
||||
|
||||
# install TMP plugins with command
|
||||
helper_install_tpm_plugins() {
|
||||
bash -c "${HOME}/.tmux/plugins/tpm/scripts/install_plugins.sh install_plugins"
|
||||
}
|
||||
|
||||
# return the value of tmux status-style
|
||||
helper_tmux_get_statusstyle() {
|
||||
local _val
|
||||
_val=$(tmux show-option -gqv status-style)
|
||||
echo "$_val"
|
||||
}
|
||||
|
||||
# return the value of tmux status-left
|
||||
helper_tmux_get_statusleft() {
|
||||
local _val
|
||||
_val=$(tmux show-option -gqv status-left)
|
||||
echo "$_val"
|
||||
}
|
50
tmux-gruvbox-dark-transparent.conf
Normal file
|
@ -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:
|
50
tmux-gruvbox-dark.conf
Normal file
|
@ -0,0 +1,50 @@
|
|||
## 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 "
|
||||
|
||||
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:
|
56
tmux-gruvbox-light-transparent.conf
Normal file
|
@ -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:
|
56
tmux-gruvbox-light.conf
Normal file
|
@ -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=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:
|