shchemes/README.md
2024-03-20 14:47:27 -06:00

58 lines
1.7 KiB
Markdown

# Shchemes
Automatically theming your apps with the power of the shell.
## Why
Shchemes will support any theme format, app, or scheme you want, with a little leg work.
It is less than 300 lines. It can go anywhere bash will, and will comfortably live in
your dotfiles. Compare with [tinty](https://github.com/tinted-theming/tinty).
## Installation
Clone the repo and add symlink it to somewhere in your PATH. Pick your poison
```
ln -s $PWD/shchemes ~/bin/shchemes
ln -s $PWD/shchemes ~/.local/bin/shchemes
```
Install your favorite base16 themes from tinted-themes:
```
shchemes install_tinted_scheme monokai
```
If you just want a bunch of themes to play with, try installing them all:
```
shchemes install_all_tinted_schemes
```
## Usage
Shchemes can be used as a command or sourced to gain access to it's underlying functions.
In the terminal:
```sh
shchemes --scheme=base16:monokai create_theme kitty >> ~/.config/kitty/kitty.conf
```
If you want to be able to hotswap themes, you'll probably need to use injection.
```sh
echo "#START SHCHEMES BLOCK : create_theme kitty" >> ~/.config/kitty/kitty.conf
shchemes --scheme=base16:monokai inject ~/.config/kitty/kitty.conf
```
In a script:
```bash
source shchemes --scheme=base16:monokai
inject "$HOME/.config/alacritty/alacritty.toml"
inject "$HOME/.config/rofi/config.rasi"
bspwm_theme="$HOME/.config/bspwm/colors"
create_theme bspwm > "$bspwm_theme"
"$bspwm_theme"
```
Note you'll have to add all the comments for where to place the injections
See the [cookbook](./doc/cookbook.md) for some ideas on ways to use Shchemes.
## Credits
This software is a work of opportunism
- mo - Mustache templates in bash. Shchemes wouldn't be possible without it.
- tinted-theming/schemes - Pretty much all the base16 themes