Metadata-Version: 2.4
Name: tsty
Version: 0.1.0
Summary: A simple command-line utility for changing your terminal colors
Home-page: https://github.com/dannguyen/tsty
Author: Dan Nguyen
License: Apache License, Version 2.0
Project-URL: Issues, https://github.dannguyen/dannguyen/tsty/issues
Project-URL: CI, https://github.com/dannguyen/tsty/actions
Project-URL: Changelog, https://github.com/dannguyen/tsty/releases
Requires-Python: >=3.9
Description-Content-Type: text/markdown
Requires-Dist: click>=8.2
Requires-Dist: click-default-group>=1.2.3
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: black>=24.2.0; extra == "test"
Requires-Dist: types-click; extra == "test"
Dynamic: author
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# tsty

**tsty** _short for "terminal style"_

A simple command-line utility for quickly switching your terminal's background, text, and cursor colors.

Works in any terminal that honors the standard OSC 10/11/12 escape sequences, including:

- Ghostty
- kitty
- Alacritty
- WezTerm
- iTerm2
- macOS Terminal.app
- foot, and other modern terminals

When run inside `tmux` or `screen`, sequences are automatically wrapped in the appropriate DCS passthrough envelope.

## Example usage

~~~sh
# Change background to green
tsty bg green

## by default, the tsty command runs the `bg` subcommand, so this works too:
tsty green

## you can also pass in rgb values, in order of: r g b
tsty 0 100

# Change text color to orange
tsty text orange

# change cursor to lavender
tsty cursor lavender

# reset to sensible defaults
tsty reset

# list commands and colors
tsty list
~~~


# Current status

- Cross-terminal: works anywhere OSC 10/11/12 is supported (Ghostty, kitty, Alacritty, WezTerm, iTerm2, Terminal.app, ...)
- tmux / screen passthrough handled automatically

## TODOS

- Add ability to switch themes
- Make separate color presets for background/cursor and text, as the former generally needs to be darker and the latter brighter
- make aliases, e.g. `tsty t` for `tsty text`
- finish writing tests
    - throw error when user has more than 4 values for color argument
    - throw error when user has more than 1 non-numerical value for color argument
- Replace verbose-by-default with --verbose opt-in flag (i.e. deprecate --quiet)



# Installation and development notes

Install this tool using `pip`:


```sh
pip install tsty
```


## Dev and Testing


```sh
# install locally
pip install -e .


# run all tests
pytest

# run just alpha tests
pytest -m 'alpha'


# skip alpha tests
pytest -m 'not alpha'
```
