Your favorite anime and game characters' colors in your terminal, one tab at a time.
Site | Docs | Browse | Terminals | Contributing | X
ttheme gives your terminal the colors of a character you love. Every tab can show its own palette, and every built-in palette passes contrast checks, so your text stays easy to read.
npx @kecan0406/ttheme@latest initWith Bun, bunx @kecan0406/ttheme@latest init does the same, and ttheme update
then updates through bunx. init asks which terminals to wire and which palettes
to install, shows every file it will change, and writes nothing until you
confirm. ttheme requires Node.js >=22 and zsh, which macOS ships, with bunx
too. From bash or fish, ttheme works too.
Then load the command and try palettes on:
exec zsh # the ttheme command in this tab
ttheme # the tab shows each palette the cursor lands on; enter keeps onettheme adds one block to each config it wires and sets colors only.
npx @kecan0406/ttheme@latest uninstall takes it all back out
(what changed).
| To | Run |
|---|---|
| Try palettes on and keep one | ttheme |
| Use a palette in this tab | ttheme use hatsune-miku |
| Set the palette new tabs open with | ttheme default hatsune-miku |
| Give a folder or ssh host its own palette | ttheme pin |
| Show every palette in light, dark or your system's mode | ttheme light, dark, auto |
| Make a palette, or tune one | ttheme new dusk, ttheme edit hatsune-miku |
| Share a palette as a link | ttheme share dusk |
| Give the terminal its own colors back, then ttheme's again | ttheme off, on |
ttheme help lists the everyday commands and ttheme help all every one.
- Quick start: install, load the command and pick a palette.
- Use ttheme: tabs, pins, light and dark,
marketplaces and pictures, what
initchanges and how to undo it, and fixes when something goes wrong. - Make a palette: the editor, the contrast checks every built-in palette passes, share links and publishing a marketplace.
- Terminal support: Ghostty, iTerm2, kitty, Alacritty, WezTerm, Windows Terminal, Warp, Konsole, Terminal.app, Rio and Contour, and what each can show.
The built-in palettes
take pull requests. CONTRIBUTING.md has their rules,
HACKING.md says how the code is put together, and the docs are
Markdown in docs/.
Base ANSI ramps come from
mbadolato/iTerm2-Color-Schemes
(MIT), whose notice keeps each scheme's copyright with its own author. Two
palettes start from a theme of their own: hatsune-miku from
vauxe/hatsune-miku-theme (MIT)
and magi from lotap/magi-theme (MIT).
Only a base scheme's hues survive, turned toward the palette's own, so no scheme
is reproduced here.
JPEG pictures are decoded by mozjpeg,
compiled to WebAssembly and packaged as
@jsquash/jpeg (Apache-2.0), which the
npm package carries inside bin/ttheme.js. This software is based in part on
the work of the Independent JPEG Group.
Palettes are inspired by characters from the works they name. This project is unaffiliated with and unendorsed by their rights holders, and shares only color values: no character art, audio or trademarked asset.
Every background picture belongs to the artist who drew it, and ttheme never
passes one on. A palette names a booru post, and your machine fetches it from
that booru when you pick it in find, or install or update a palette that lists
it. find names who drew each post and links their own pages, and y in the
panel copies a line that credits the artist, for when you show one off.
