@kecan0406/ttheme 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +248 -42
- package/bin/ttheme.js +9143 -2556
- package/dist/alacritty/config/dekomori.toml +8 -0
- package/dist/alacritty/config/geto.toml +8 -0
- package/dist/alacritty/config/gojo.toml +8 -0
- package/dist/alacritty/config/kumin.toml +8 -0
- package/dist/alacritty/config/megumi.toml +8 -0
- package/dist/alacritty/config/nanami.toml +8 -0
- package/dist/alacritty/config/nobara.toml +8 -0
- package/dist/alacritty/config/rikka.toml +8 -0
- package/dist/alacritty/config/shinka.toml +8 -0
- package/dist/alacritty/config/sukuna.toml +8 -0
- package/dist/alacritty/config/yuji.toml +8 -0
- package/dist/alacritty/config/yuuta.toml +8 -0
- package/dist/alacritty/themes/alma.toml +21 -21
- package/dist/alacritty/themes/anko.toml +22 -22
- package/dist/alacritty/themes/asuka.toml +22 -22
- package/dist/alacritty/themes/azusa.toml +22 -22
- package/dist/alacritty/themes/battler.toml +22 -22
- package/dist/alacritty/themes/beatrice.toml +22 -22
- package/dist/alacritty/themes/bernkastel.toml +21 -21
- package/dist/alacritty/themes/bocchi.toml +22 -22
- package/dist/alacritty/themes/cirno.toml +23 -23
- package/dist/alacritty/themes/david.toml +21 -21
- package/dist/alacritty/themes/dekomori.toml +34 -0
- package/dist/alacritty/themes/determination.toml +23 -23
- package/dist/alacritty/themes/dorothy.toml +22 -22
- package/dist/alacritty/themes/eva01.toml +22 -22
- package/dist/alacritty/themes/flandre.toml +22 -22
- package/dist/alacritty/themes/fox.toml +22 -22
- package/dist/alacritty/themes/geto.toml +34 -0
- package/dist/alacritty/themes/glitch.toml +23 -23
- package/dist/alacritty/themes/gojo.toml +34 -0
- package/dist/alacritty/themes/hinamizawa.toml +22 -22
- package/dist/alacritty/themes/hitagi.toml +22 -22
- package/dist/alacritty/themes/homura.toml +23 -23
- package/dist/alacritty/themes/jill.toml +22 -22
- package/dist/alacritty/themes/joker.toml +22 -22
- package/dist/alacritty/themes/jupiter.toml +22 -22
- package/dist/alacritty/themes/kagami.toml +23 -23
- package/dist/alacritty/themes/kaito.toml +23 -23
- package/dist/alacritty/themes/kaworu.toml +22 -22
- package/dist/alacritty/themes/kita.toml +22 -22
- package/dist/alacritty/themes/konata.toml +23 -23
- package/dist/alacritty/themes/kou.toml +23 -23
- package/dist/alacritty/themes/kumin.toml +34 -0
- package/dist/alacritty/themes/kumori.toml +23 -23
- package/dist/alacritty/themes/kurisu.toml +21 -21
- package/dist/alacritty/themes/kyoko.toml +22 -22
- package/dist/alacritty/themes/kyubey.toml +22 -22
- package/dist/alacritty/themes/lain.toml +22 -22
- package/dist/alacritty/themes/lambdadelta.toml +22 -22
- package/dist/alacritty/themes/len.toml +23 -23
- package/dist/alacritty/themes/lucy.toml +21 -21
- package/dist/alacritty/themes/luka.toml +22 -22
- package/dist/alacritty/themes/madoka.toml +21 -21
- package/dist/alacritty/themes/magi.toml +21 -21
- package/dist/alacritty/themes/mami.toml +23 -23
- package/dist/alacritty/themes/marisa.toml +23 -23
- package/dist/alacritty/themes/mars.toml +22 -22
- package/dist/alacritty/themes/mayuri.toml +22 -22
- package/dist/alacritty/themes/megumi.toml +34 -0
- package/dist/alacritty/themes/meiko.toml +23 -23
- package/dist/alacritty/themes/mercury.toml +21 -21
- package/dist/alacritty/themes/mettaton.toml +23 -23
- package/dist/alacritty/themes/miku.toml +22 -22
- package/dist/alacritty/themes/mio.toml +21 -21
- package/dist/alacritty/themes/mion.toml +22 -22
- package/dist/alacritty/themes/misato.toml +22 -22
- package/dist/alacritty/themes/miyuki.toml +23 -23
- package/dist/alacritty/themes/monika.toml +23 -23
- package/dist/alacritty/themes/moon.toml +21 -21
- package/dist/alacritty/themes/mugi.toml +21 -21
- package/dist/alacritty/themes/nadeko.toml +21 -21
- package/dist/alacritty/themes/nagisa.toml +21 -21
- package/dist/alacritty/themes/nanami.toml +34 -0
- package/dist/alacritty/themes/natsuki.toml +22 -22
- package/dist/alacritty/themes/nazuna.toml +22 -22
- package/dist/alacritty/themes/neutral.toml +20 -20
- package/dist/alacritty/themes/nightcity.toml +23 -23
- package/dist/alacritty/themes/nijika.toml +21 -21
- package/dist/alacritty/themes/nobara.toml +34 -0
- package/dist/alacritty/themes/oracle.toml +21 -21
- package/dist/alacritty/themes/panther.toml +22 -22
- package/dist/alacritty/themes/papyrus.toml +23 -23
- package/dist/alacritty/themes/patchouli.toml +22 -22
- package/dist/alacritty/themes/queen.toml +22 -22
- package/dist/alacritty/themes/rebecca.toml +22 -22
- package/dist/alacritty/themes/rei.toml +21 -21
- package/dist/alacritty/themes/reimu.toml +21 -21
- package/dist/alacritty/themes/rena.toml +22 -22
- package/dist/alacritty/themes/rika.toml +22 -22
- package/dist/alacritty/themes/rikka.toml +34 -0
- package/dist/alacritty/themes/rin.toml +23 -23
- package/dist/alacritty/themes/ritsu.toml +22 -22
- package/dist/alacritty/themes/rokkenjima.toml +21 -21
- package/dist/alacritty/themes/ryo.toml +22 -22
- package/dist/alacritty/themes/sans.toml +22 -22
- package/dist/alacritty/themes/satoko.toml +22 -22
- package/dist/alacritty/themes/sayaka.toml +22 -22
- package/dist/alacritty/themes/sayori.toml +23 -23
- package/dist/alacritty/themes/sei.toml +22 -22
- package/dist/alacritty/themes/seri.toml +22 -22
- package/dist/alacritty/themes/shinka.toml +34 -0
- package/dist/alacritty/themes/shinobu.toml +21 -21
- package/dist/alacritty/themes/skull.toml +22 -22
- package/dist/alacritty/themes/stella.toml +22 -22
- package/dist/alacritty/themes/sukuna.toml +34 -0
- package/dist/alacritty/themes/suzuha.toml +21 -21
- package/dist/alacritty/themes/toriel.toml +23 -23
- package/dist/alacritty/themes/tsubasa.toml +22 -22
- package/dist/alacritty/themes/tsukasa.toml +23 -23
- package/dist/alacritty/themes/undyne.toml +23 -23
- package/dist/alacritty/themes/valhalla.toml +22 -22
- package/dist/alacritty/themes/velvet.toml +22 -22
- package/dist/alacritty/themes/venus.toml +19 -19
- package/dist/alacritty/themes/yofukashi.toml +21 -21
- package/dist/alacritty/themes/youmu.toml +23 -23
- package/dist/alacritty/themes/yui.toml +22 -22
- package/dist/alacritty/themes/yuji.toml +34 -0
- package/dist/alacritty/themes/yuri.toml +23 -23
- package/dist/alacritty/themes/yuuta.toml +34 -0
- package/dist/ghostty/themes/alma +21 -21
- package/dist/ghostty/themes/anko +23 -23
- package/dist/ghostty/themes/asuka +23 -23
- package/dist/ghostty/themes/azusa +23 -23
- package/dist/ghostty/themes/battler +23 -23
- package/dist/ghostty/themes/beatrice +23 -23
- package/dist/ghostty/themes/bernkastel +21 -21
- package/dist/ghostty/themes/bocchi +23 -23
- package/dist/ghostty/themes/cirno +24 -24
- package/dist/ghostty/themes/david +21 -21
- package/dist/ghostty/themes/dekomori +29 -0
- package/dist/ghostty/themes/determination +24 -24
- package/dist/ghostty/themes/dorothy +23 -23
- package/dist/ghostty/themes/eva01 +23 -23
- package/dist/ghostty/themes/flandre +23 -23
- package/dist/ghostty/themes/fox +23 -23
- package/dist/ghostty/themes/geto +29 -0
- package/dist/ghostty/themes/glitch +24 -24
- package/dist/ghostty/themes/gojo +29 -0
- package/dist/ghostty/themes/hinamizawa +23 -23
- package/dist/ghostty/themes/hitagi +23 -23
- package/dist/ghostty/themes/homura +24 -24
- package/dist/ghostty/themes/jill +23 -23
- package/dist/ghostty/themes/joker +23 -23
- package/dist/ghostty/themes/jupiter +23 -23
- package/dist/ghostty/themes/kagami +24 -24
- package/dist/ghostty/themes/kaito +24 -24
- package/dist/ghostty/themes/kaworu +23 -23
- package/dist/ghostty/themes/kita +23 -23
- package/dist/ghostty/themes/konata +24 -24
- package/dist/ghostty/themes/kou +24 -24
- package/dist/ghostty/themes/kumin +29 -0
- package/dist/ghostty/themes/kumori +23 -23
- package/dist/ghostty/themes/kurisu +21 -21
- package/dist/ghostty/themes/kyoko +23 -23
- package/dist/ghostty/themes/kyubey +23 -23
- package/dist/ghostty/themes/lain +23 -23
- package/dist/ghostty/themes/lambdadelta +23 -23
- package/dist/ghostty/themes/len +24 -24
- package/dist/ghostty/themes/lucy +21 -21
- package/dist/ghostty/themes/luka +22 -22
- package/dist/ghostty/themes/madoka +21 -21
- package/dist/ghostty/themes/magi +21 -21
- package/dist/ghostty/themes/mami +24 -24
- package/dist/ghostty/themes/marisa +24 -24
- package/dist/ghostty/themes/mars +23 -23
- package/dist/ghostty/themes/mayuri +23 -23
- package/dist/ghostty/themes/megumi +29 -0
- package/dist/ghostty/themes/meiko +24 -24
- package/dist/ghostty/themes/mercury +21 -21
- package/dist/ghostty/themes/mettaton +24 -24
- package/dist/ghostty/themes/miku +22 -22
- package/dist/ghostty/themes/mio +21 -21
- package/dist/ghostty/themes/mion +23 -23
- package/dist/ghostty/themes/misato +23 -23
- package/dist/ghostty/themes/miyuki +24 -24
- package/dist/ghostty/themes/monika +24 -24
- package/dist/ghostty/themes/moon +21 -21
- package/dist/ghostty/themes/mugi +21 -21
- package/dist/ghostty/themes/nadeko +21 -21
- package/dist/ghostty/themes/nagisa +21 -21
- package/dist/ghostty/themes/nanami +29 -0
- package/dist/ghostty/themes/natsuki +22 -22
- package/dist/ghostty/themes/nazuna +23 -23
- package/dist/ghostty/themes/neutral +22 -22
- package/dist/ghostty/themes/nightcity +24 -24
- package/dist/ghostty/themes/nijika +21 -21
- package/dist/ghostty/themes/nobara +29 -0
- package/dist/ghostty/themes/oracle +21 -21
- package/dist/ghostty/themes/panther +23 -23
- package/dist/ghostty/themes/papyrus +24 -24
- package/dist/ghostty/themes/patchouli +23 -23
- package/dist/ghostty/themes/queen +23 -23
- package/dist/ghostty/themes/rebecca +23 -23
- package/dist/ghostty/themes/rei +21 -21
- package/dist/ghostty/themes/reimu +22 -22
- package/dist/ghostty/themes/rena +23 -23
- package/dist/ghostty/themes/rika +23 -23
- package/dist/ghostty/themes/rikka +29 -0
- package/dist/ghostty/themes/rin +24 -24
- package/dist/ghostty/themes/ritsu +23 -23
- package/dist/ghostty/themes/rokkenjima +21 -21
- package/dist/ghostty/themes/ryo +23 -23
- package/dist/ghostty/themes/sans +22 -22
- package/dist/ghostty/themes/satoko +23 -23
- package/dist/ghostty/themes/sayaka +23 -23
- package/dist/ghostty/themes/sayori +24 -24
- package/dist/ghostty/themes/sei +23 -23
- package/dist/ghostty/themes/seri +22 -22
- package/dist/ghostty/themes/shinka +29 -0
- package/dist/ghostty/themes/shinobu +21 -21
- package/dist/ghostty/themes/skull +23 -23
- package/dist/ghostty/themes/stella +23 -23
- package/dist/ghostty/themes/sukuna +29 -0
- package/dist/ghostty/themes/suzuha +21 -21
- package/dist/ghostty/themes/toriel +24 -24
- package/dist/ghostty/themes/tsubasa +23 -23
- package/dist/ghostty/themes/tsukasa +24 -24
- package/dist/ghostty/themes/undyne +24 -24
- package/dist/ghostty/themes/valhalla +23 -23
- package/dist/ghostty/themes/velvet +23 -23
- package/dist/ghostty/themes/venus +19 -19
- package/dist/ghostty/themes/yofukashi +21 -21
- package/dist/ghostty/themes/youmu +24 -24
- package/dist/ghostty/themes/yui +23 -23
- package/dist/ghostty/themes/yuji +29 -0
- package/dist/ghostty/themes/yuri +24 -24
- package/dist/ghostty/themes/yuuta +29 -0
- package/dist/iterm2/alma.itermcolors +65 -65
- package/dist/iterm2/anko.itermcolors +68 -68
- package/dist/iterm2/asuka.itermcolors +68 -68
- package/dist/iterm2/azusa.itermcolors +68 -68
- package/dist/iterm2/battler.itermcolors +65 -65
- package/dist/iterm2/beatrice.itermcolors +69 -69
- package/dist/iterm2/bernkastel.itermcolors +64 -64
- package/dist/iterm2/bocchi.itermcolors +69 -69
- package/dist/iterm2/cirno.itermcolors +69 -69
- package/dist/iterm2/david.itermcolors +61 -61
- package/dist/iterm2/dekomori.itermcolors +305 -0
- package/dist/iterm2/determination.itermcolors +63 -63
- package/dist/iterm2/dorothy.itermcolors +63 -63
- package/dist/iterm2/eva01.itermcolors +66 -66
- package/dist/iterm2/flandre.itermcolors +65 -65
- package/dist/iterm2/fox.itermcolors +68 -68
- package/dist/iterm2/geto.itermcolors +305 -0
- package/dist/iterm2/glitch.itermcolors +64 -64
- package/dist/iterm2/gojo.itermcolors +305 -0
- package/dist/iterm2/hinamizawa.itermcolors +65 -65
- package/dist/iterm2/hitagi.itermcolors +68 -68
- package/dist/iterm2/homura.itermcolors +65 -65
- package/dist/iterm2/jill.itermcolors +67 -67
- package/dist/iterm2/joker.itermcolors +65 -65
- package/dist/iterm2/jupiter.itermcolors +66 -66
- package/dist/iterm2/kagami.itermcolors +69 -69
- package/dist/iterm2/kaito.itermcolors +67 -67
- package/dist/iterm2/kaworu.itermcolors +68 -68
- package/dist/iterm2/kita.itermcolors +66 -66
- package/dist/iterm2/konata.itermcolors +69 -69
- package/dist/iterm2/kou.itermcolors +66 -66
- package/dist/iterm2/kumin.itermcolors +305 -0
- package/dist/iterm2/kumori.itermcolors +63 -63
- package/dist/iterm2/kurisu.itermcolors +64 -64
- package/dist/iterm2/kyoko.itermcolors +68 -68
- package/dist/iterm2/kyubey.itermcolors +69 -69
- package/dist/iterm2/lain.itermcolors +67 -67
- package/dist/iterm2/lambdadelta.itermcolors +64 -64
- package/dist/iterm2/len.itermcolors +68 -68
- package/dist/iterm2/lucy.itermcolors +66 -66
- package/dist/iterm2/luka.itermcolors +66 -66
- package/dist/iterm2/madoka.itermcolors +61 -61
- package/dist/iterm2/magi.itermcolors +66 -66
- package/dist/iterm2/mami.itermcolors +66 -66
- package/dist/iterm2/marisa.itermcolors +65 -65
- package/dist/iterm2/mars.itermcolors +68 -68
- package/dist/iterm2/mayuri.itermcolors +67 -67
- package/dist/iterm2/megumi.itermcolors +305 -0
- package/dist/iterm2/meiko.itermcolors +66 -66
- package/dist/iterm2/mercury.itermcolors +66 -66
- package/dist/iterm2/mettaton.itermcolors +68 -68
- package/dist/iterm2/miku.itermcolors +64 -64
- package/dist/iterm2/mio.itermcolors +66 -66
- package/dist/iterm2/mion.itermcolors +68 -68
- package/dist/iterm2/misato.itermcolors +63 -63
- package/dist/iterm2/miyuki.itermcolors +66 -66
- package/dist/iterm2/monika.itermcolors +68 -68
- package/dist/iterm2/moon.itermcolors +63 -63
- package/dist/iterm2/mugi.itermcolors +64 -64
- package/dist/iterm2/nadeko.itermcolors +60 -60
- package/dist/iterm2/nagisa.itermcolors +63 -63
- package/dist/iterm2/nanami.itermcolors +305 -0
- package/dist/iterm2/natsuki.itermcolors +62 -62
- package/dist/iterm2/nazuna.itermcolors +69 -69
- package/dist/iterm2/neutral.itermcolors +62 -62
- package/dist/iterm2/nightcity.itermcolors +63 -63
- package/dist/iterm2/nijika.itermcolors +60 -60
- package/dist/iterm2/nobara.itermcolors +305 -0
- package/dist/iterm2/oracle.itermcolors +64 -64
- package/dist/iterm2/panther.itermcolors +69 -69
- package/dist/iterm2/papyrus.itermcolors +67 -67
- package/dist/iterm2/patchouli.itermcolors +69 -69
- package/dist/iterm2/queen.itermcolors +63 -63
- package/dist/iterm2/rebecca.itermcolors +61 -61
- package/dist/iterm2/rei.itermcolors +63 -63
- package/dist/iterm2/reimu.itermcolors +66 -66
- package/dist/iterm2/rena.itermcolors +65 -65
- package/dist/iterm2/rika.itermcolors +65 -65
- package/dist/iterm2/rikka.itermcolors +305 -0
- package/dist/iterm2/rin.itermcolors +61 -61
- package/dist/iterm2/ritsu.itermcolors +67 -67
- package/dist/iterm2/rokkenjima.itermcolors +65 -65
- package/dist/iterm2/ryo.itermcolors +69 -69
- package/dist/iterm2/sans.itermcolors +63 -63
- package/dist/iterm2/satoko.itermcolors +69 -69
- package/dist/iterm2/sayaka.itermcolors +69 -69
- package/dist/iterm2/sayori.itermcolors +60 -60
- package/dist/iterm2/sei.itermcolors +63 -63
- package/dist/iterm2/seri.itermcolors +65 -65
- package/dist/iterm2/shinka.itermcolors +305 -0
- package/dist/iterm2/shinobu.itermcolors +63 -63
- package/dist/iterm2/skull.itermcolors +62 -62
- package/dist/iterm2/stella.itermcolors +62 -62
- package/dist/iterm2/sukuna.itermcolors +305 -0
- package/dist/iterm2/suzuha.itermcolors +64 -64
- package/dist/iterm2/toriel.itermcolors +63 -63
- package/dist/iterm2/tsubasa.itermcolors +69 -69
- package/dist/iterm2/tsukasa.itermcolors +66 -66
- package/dist/iterm2/undyne.itermcolors +69 -69
- package/dist/iterm2/valhalla.itermcolors +68 -68
- package/dist/iterm2/velvet.itermcolors +67 -67
- package/dist/iterm2/venus.itermcolors +57 -57
- package/dist/iterm2/yofukashi.itermcolors +64 -64
- package/dist/iterm2/youmu.itermcolors +69 -69
- package/dist/iterm2/yui.itermcolors +67 -67
- package/dist/iterm2/yuji.itermcolors +305 -0
- package/dist/iterm2/yuri.itermcolors +65 -65
- package/dist/iterm2/yuuta.itermcolors +305 -0
- package/dist/kitty/config/dekomori.conf +4 -0
- package/dist/kitty/config/geto.conf +4 -0
- package/dist/kitty/config/gojo.conf +4 -0
- package/dist/kitty/config/kumin.conf +4 -0
- package/dist/kitty/config/megumi.conf +4 -0
- package/dist/kitty/config/nanami.conf +4 -0
- package/dist/kitty/config/nobara.conf +4 -0
- package/dist/kitty/config/rikka.conf +4 -0
- package/dist/kitty/config/shinka.conf +4 -0
- package/dist/kitty/config/sukuna.conf +4 -0
- package/dist/kitty/config/yuji.conf +4 -0
- package/dist/kitty/config/yuuta.conf +4 -0
- package/dist/kitty/themes/alma.conf +21 -21
- package/dist/kitty/themes/anko.conf +22 -22
- package/dist/kitty/themes/asuka.conf +22 -22
- package/dist/kitty/themes/azusa.conf +22 -22
- package/dist/kitty/themes/battler.conf +22 -22
- package/dist/kitty/themes/beatrice.conf +22 -22
- package/dist/kitty/themes/bernkastel.conf +21 -21
- package/dist/kitty/themes/bocchi.conf +22 -22
- package/dist/kitty/themes/cirno.conf +23 -23
- package/dist/kitty/themes/david.conf +21 -21
- package/dist/kitty/themes/dekomori.conf +24 -0
- package/dist/kitty/themes/determination.conf +23 -23
- package/dist/kitty/themes/dorothy.conf +22 -22
- package/dist/kitty/themes/eva01.conf +22 -22
- package/dist/kitty/themes/flandre.conf +22 -22
- package/dist/kitty/themes/fox.conf +22 -22
- package/dist/kitty/themes/geto.conf +24 -0
- package/dist/kitty/themes/glitch.conf +23 -23
- package/dist/kitty/themes/gojo.conf +24 -0
- package/dist/kitty/themes/hinamizawa.conf +22 -22
- package/dist/kitty/themes/hitagi.conf +22 -22
- package/dist/kitty/themes/homura.conf +23 -23
- package/dist/kitty/themes/jill.conf +22 -22
- package/dist/kitty/themes/joker.conf +22 -22
- package/dist/kitty/themes/jupiter.conf +22 -22
- package/dist/kitty/themes/kagami.conf +23 -23
- package/dist/kitty/themes/kaito.conf +23 -23
- package/dist/kitty/themes/kaworu.conf +22 -22
- package/dist/kitty/themes/kita.conf +22 -22
- package/dist/kitty/themes/konata.conf +23 -23
- package/dist/kitty/themes/kou.conf +23 -23
- package/dist/kitty/themes/kumin.conf +24 -0
- package/dist/kitty/themes/kumori.conf +23 -23
- package/dist/kitty/themes/kurisu.conf +21 -21
- package/dist/kitty/themes/kyoko.conf +22 -22
- package/dist/kitty/themes/kyubey.conf +22 -22
- package/dist/kitty/themes/lain.conf +22 -22
- package/dist/kitty/themes/lambdadelta.conf +22 -22
- package/dist/kitty/themes/len.conf +23 -23
- package/dist/kitty/themes/lucy.conf +21 -21
- package/dist/kitty/themes/luka.conf +22 -22
- package/dist/kitty/themes/madoka.conf +21 -21
- package/dist/kitty/themes/magi.conf +21 -21
- package/dist/kitty/themes/mami.conf +23 -23
- package/dist/kitty/themes/marisa.conf +23 -23
- package/dist/kitty/themes/mars.conf +22 -22
- package/dist/kitty/themes/mayuri.conf +22 -22
- package/dist/kitty/themes/megumi.conf +24 -0
- package/dist/kitty/themes/meiko.conf +23 -23
- package/dist/kitty/themes/mercury.conf +21 -21
- package/dist/kitty/themes/mettaton.conf +23 -23
- package/dist/kitty/themes/miku.conf +22 -22
- package/dist/kitty/themes/mio.conf +21 -21
- package/dist/kitty/themes/mion.conf +22 -22
- package/dist/kitty/themes/misato.conf +22 -22
- package/dist/kitty/themes/miyuki.conf +23 -23
- package/dist/kitty/themes/monika.conf +23 -23
- package/dist/kitty/themes/moon.conf +21 -21
- package/dist/kitty/themes/mugi.conf +21 -21
- package/dist/kitty/themes/nadeko.conf +21 -21
- package/dist/kitty/themes/nagisa.conf +21 -21
- package/dist/kitty/themes/nanami.conf +24 -0
- package/dist/kitty/themes/natsuki.conf +22 -22
- package/dist/kitty/themes/nazuna.conf +22 -22
- package/dist/kitty/themes/neutral.conf +20 -20
- package/dist/kitty/themes/nightcity.conf +23 -23
- package/dist/kitty/themes/nijika.conf +21 -21
- package/dist/kitty/themes/nobara.conf +24 -0
- package/dist/kitty/themes/oracle.conf +21 -21
- package/dist/kitty/themes/panther.conf +22 -22
- package/dist/kitty/themes/papyrus.conf +23 -23
- package/dist/kitty/themes/patchouli.conf +22 -22
- package/dist/kitty/themes/queen.conf +22 -22
- package/dist/kitty/themes/rebecca.conf +22 -22
- package/dist/kitty/themes/rei.conf +21 -21
- package/dist/kitty/themes/reimu.conf +21 -21
- package/dist/kitty/themes/rena.conf +22 -22
- package/dist/kitty/themes/rika.conf +22 -22
- package/dist/kitty/themes/rikka.conf +24 -0
- package/dist/kitty/themes/rin.conf +23 -23
- package/dist/kitty/themes/ritsu.conf +22 -22
- package/dist/kitty/themes/rokkenjima.conf +21 -21
- package/dist/kitty/themes/ryo.conf +22 -22
- package/dist/kitty/themes/sans.conf +22 -22
- package/dist/kitty/themes/satoko.conf +22 -22
- package/dist/kitty/themes/sayaka.conf +22 -22
- package/dist/kitty/themes/sayori.conf +23 -23
- package/dist/kitty/themes/sei.conf +22 -22
- package/dist/kitty/themes/seri.conf +22 -22
- package/dist/kitty/themes/shinka.conf +24 -0
- package/dist/kitty/themes/shinobu.conf +21 -21
- package/dist/kitty/themes/skull.conf +22 -22
- package/dist/kitty/themes/stella.conf +22 -22
- package/dist/kitty/themes/sukuna.conf +24 -0
- package/dist/kitty/themes/suzuha.conf +21 -21
- package/dist/kitty/themes/toriel.conf +23 -23
- package/dist/kitty/themes/tsubasa.conf +22 -22
- package/dist/kitty/themes/tsukasa.conf +23 -23
- package/dist/kitty/themes/undyne.conf +23 -23
- package/dist/kitty/themes/valhalla.conf +22 -22
- package/dist/kitty/themes/velvet.conf +22 -22
- package/dist/kitty/themes/venus.conf +19 -19
- package/dist/kitty/themes/yofukashi.conf +21 -21
- package/dist/kitty/themes/youmu.conf +23 -23
- package/dist/kitty/themes/yui.conf +22 -22
- package/dist/kitty/themes/yuji.conf +24 -0
- package/dist/kitty/themes/yuri.conf +23 -23
- package/dist/kitty/themes/yuuta.conf +24 -0
- package/dist/manifest.json +5139 -0
- package/dist/shell/palettes.zsh +297 -113
- package/dist/wezterm/colors/alma.toml +7 -7
- package/dist/wezterm/colors/anko.toml +9 -9
- package/dist/wezterm/colors/asuka.toml +9 -9
- package/dist/wezterm/colors/azusa.toml +9 -9
- package/dist/wezterm/colors/battler.toml +9 -9
- package/dist/wezterm/colors/beatrice.toml +9 -9
- package/dist/wezterm/colors/bernkastel.toml +7 -7
- package/dist/wezterm/colors/bocchi.toml +9 -9
- package/dist/wezterm/colors/cirno.toml +10 -10
- package/dist/wezterm/colors/david.toml +7 -7
- package/dist/wezterm/colors/dekomori.toml +15 -0
- package/dist/wezterm/colors/determination.toml +9 -9
- package/dist/wezterm/colors/dorothy.toml +9 -9
- package/dist/wezterm/colors/eva01.toml +9 -9
- package/dist/wezterm/colors/flandre.toml +9 -9
- package/dist/wezterm/colors/fox.toml +9 -9
- package/dist/wezterm/colors/geto.toml +15 -0
- package/dist/wezterm/colors/glitch.toml +9 -9
- package/dist/wezterm/colors/gojo.toml +15 -0
- package/dist/wezterm/colors/hinamizawa.toml +9 -9
- package/dist/wezterm/colors/hitagi.toml +9 -9
- package/dist/wezterm/colors/homura.toml +10 -10
- package/dist/wezterm/colors/jill.toml +9 -9
- package/dist/wezterm/colors/joker.toml +9 -9
- package/dist/wezterm/colors/jupiter.toml +9 -9
- package/dist/wezterm/colors/kagami.toml +10 -10
- package/dist/wezterm/colors/kaito.toml +9 -9
- package/dist/wezterm/colors/kaworu.toml +9 -9
- package/dist/wezterm/colors/kita.toml +9 -9
- package/dist/wezterm/colors/konata.toml +10 -10
- package/dist/wezterm/colors/kou.toml +10 -10
- package/dist/wezterm/colors/kumin.toml +15 -0
- package/dist/wezterm/colors/kumori.toml +8 -8
- package/dist/wezterm/colors/kurisu.toml +7 -7
- package/dist/wezterm/colors/kyoko.toml +9 -9
- package/dist/wezterm/colors/kyubey.toml +9 -9
- package/dist/wezterm/colors/lain.toml +9 -9
- package/dist/wezterm/colors/lambdadelta.toml +9 -9
- package/dist/wezterm/colors/len.toml +9 -9
- package/dist/wezterm/colors/lucy.toml +7 -7
- package/dist/wezterm/colors/luka.toml +7 -7
- package/dist/wezterm/colors/madoka.toml +7 -7
- package/dist/wezterm/colors/magi.toml +7 -7
- package/dist/wezterm/colors/mami.toml +10 -10
- package/dist/wezterm/colors/marisa.toml +10 -10
- package/dist/wezterm/colors/mars.toml +9 -9
- package/dist/wezterm/colors/mayuri.toml +9 -9
- package/dist/wezterm/colors/megumi.toml +15 -0
- package/dist/wezterm/colors/meiko.toml +9 -9
- package/dist/wezterm/colors/mercury.toml +7 -7
- package/dist/wezterm/colors/mettaton.toml +9 -9
- package/dist/wezterm/colors/miku.toml +7 -7
- package/dist/wezterm/colors/mio.toml +7 -7
- package/dist/wezterm/colors/mion.toml +9 -9
- package/dist/wezterm/colors/misato.toml +9 -9
- package/dist/wezterm/colors/miyuki.toml +10 -10
- package/dist/wezterm/colors/monika.toml +9 -9
- package/dist/wezterm/colors/moon.toml +7 -7
- package/dist/wezterm/colors/mugi.toml +7 -7
- package/dist/wezterm/colors/nadeko.toml +7 -7
- package/dist/wezterm/colors/nagisa.toml +7 -7
- package/dist/wezterm/colors/nanami.toml +15 -0
- package/dist/wezterm/colors/natsuki.toml +7 -7
- package/dist/wezterm/colors/nazuna.toml +9 -9
- package/dist/wezterm/colors/neutral.toml +7 -7
- package/dist/wezterm/colors/nightcity.toml +10 -10
- package/dist/wezterm/colors/nijika.toml +7 -7
- package/dist/wezterm/colors/nobara.toml +15 -0
- package/dist/wezterm/colors/oracle.toml +7 -7
- package/dist/wezterm/colors/panther.toml +9 -9
- package/dist/wezterm/colors/papyrus.toml +9 -9
- package/dist/wezterm/colors/patchouli.toml +9 -9
- package/dist/wezterm/colors/queen.toml +9 -9
- package/dist/wezterm/colors/rebecca.toml +9 -9
- package/dist/wezterm/colors/rei.toml +7 -7
- package/dist/wezterm/colors/reimu.toml +9 -9
- package/dist/wezterm/colors/rena.toml +9 -9
- package/dist/wezterm/colors/rika.toml +9 -9
- package/dist/wezterm/colors/rikka.toml +15 -0
- package/dist/wezterm/colors/rin.toml +9 -9
- package/dist/wezterm/colors/ritsu.toml +9 -9
- package/dist/wezterm/colors/rokkenjima.toml +7 -7
- package/dist/wezterm/colors/ryo.toml +9 -9
- package/dist/wezterm/colors/sans.toml +7 -7
- package/dist/wezterm/colors/satoko.toml +9 -9
- package/dist/wezterm/colors/sayaka.toml +9 -9
- package/dist/wezterm/colors/sayori.toml +9 -9
- package/dist/wezterm/colors/sei.toml +9 -9
- package/dist/wezterm/colors/seri.toml +8 -8
- package/dist/wezterm/colors/shinka.toml +15 -0
- package/dist/wezterm/colors/shinobu.toml +7 -7
- package/dist/wezterm/colors/skull.toml +9 -9
- package/dist/wezterm/colors/stella.toml +9 -9
- package/dist/wezterm/colors/sukuna.toml +15 -0
- package/dist/wezterm/colors/suzuha.toml +7 -7
- package/dist/wezterm/colors/toriel.toml +9 -9
- package/dist/wezterm/colors/tsubasa.toml +9 -9
- package/dist/wezterm/colors/tsukasa.toml +10 -10
- package/dist/wezterm/colors/undyne.toml +9 -9
- package/dist/wezterm/colors/valhalla.toml +9 -9
- package/dist/wezterm/colors/velvet.toml +9 -9
- package/dist/wezterm/colors/venus.toml +6 -6
- package/dist/wezterm/colors/yofukashi.toml +7 -7
- package/dist/wezterm/colors/youmu.toml +10 -10
- package/dist/wezterm/colors/yui.toml +9 -9
- package/dist/wezterm/colors/yuji.toml +15 -0
- package/dist/wezterm/colors/yuri.toml +9 -9
- package/dist/wezterm/colors/yuuta.toml +15 -0
- package/dist/wezterm/config/dekomori.lua +10 -0
- package/dist/wezterm/config/geto.lua +10 -0
- package/dist/wezterm/config/gojo.lua +10 -0
- package/dist/wezterm/config/kumin.lua +10 -0
- package/dist/wezterm/config/megumi.lua +10 -0
- package/dist/wezterm/config/nanami.lua +10 -0
- package/dist/wezterm/config/nobara.lua +10 -0
- package/dist/wezterm/config/rikka.lua +10 -0
- package/dist/wezterm/config/shinka.lua +10 -0
- package/dist/wezterm/config/sukuna.lua +10 -0
- package/dist/wezterm/config/yuji.lua +10 -0
- package/dist/wezterm/config/yuuta.lua +10 -0
- package/package.json +7 -1
- package/shell/adapters/_osc.zsh +34 -5
- package/shell/adapters/ghostty.zsh +509 -0
- package/shell/adapters/kitty.zsh +4 -3
- package/shell/ttheme.zsh +1086 -204
package/README.md
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Character terminal palettes — every new tab takes the next one.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
One hundred and eight palettes drawn from Vocaloid, Evangelion, Madoka Magica,
|
|
6
6
|
Steins;Gate, Lucky☆Star, Bocchi the Rock!, Monogatari, Sailor Moon, Serial
|
|
7
7
|
Experiments Lain, VA-11 Hall-A, Persona 5, Undertale, Call of the Night,
|
|
8
|
-
Higurashi, Doki Doki Literature Club, Umineko, K-On!, Cyberpunk: Edgerunners
|
|
9
|
-
|
|
10
|
-
layer that rotates through them as you open tabs.
|
|
8
|
+
Higurashi, Doki Doki Literature Club, Umineko, K-On!, Cyberpunk: Edgerunners,
|
|
9
|
+
Touhou Project, Chuunibyou and Jujutsu Kaisen, built for **Ghostty, kitty, Alacritty,
|
|
10
|
+
WezTerm and iTerm2**, plus a zsh layer that rotates through them as you open tabs.
|
|
11
11
|
|
|
12
12
|
Two things separate this from the usual color-scheme dump:
|
|
13
13
|
|
|
@@ -40,9 +40,12 @@ Two things separate this from the usual color-scheme dump:
|
|
|
40
40
|
| K-On! — けいおん! | `yui` `ritsu` `mio` `mugi` `azusa` |
|
|
41
41
|
| Cyberpunk: Edgerunners — サイバーパンク エッジランナーズ | `david` `lucy` `rebecca` `nightcity` |
|
|
42
42
|
| Touhou Project — 東方Project | `reimu` `marisa` `cirno` `youmu` `patchouli` `flandre` |
|
|
43
|
+
| Chuunibyou — 中二病でも恋がしたい! | `rikka` `yuuta` `shinka` `dekomori` `kumin` |
|
|
44
|
+
| Jujutsu Kaisen — 呪術廻戦 | `gojo` `yuji` `megumi` `nobara` `nanami` `geto` `sukuna` |
|
|
43
45
|
| — | `neutral` (default) |
|
|
44
46
|
|
|
45
|
-
`neutral` sits out of the rotation — it is the pre-shell
|
|
47
|
+
`neutral` sits out of the rotation and the listings — it is the pre-shell
|
|
48
|
+
default, still applyable as `ttheme neutral`.
|
|
46
49
|
|
|
47
50
|
Backgrounds and cursors are hand-tuned; the 16 ANSI colors are borrowed from
|
|
48
51
|
established themes (Nvim Dark, Nightfox, Oxocarbon, Selenized, Monokai Pro,
|
|
@@ -59,11 +62,16 @@ came from — `ttheme` prints it, and it is in the theme's TOML.
|
|
|
59
62
|
npx @kecan0406/ttheme@latest init
|
|
60
63
|
```
|
|
61
64
|
|
|
62
|
-
It detects your terminal, asks which ones to wire, places the
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
65
|
+
It detects your terminal, asks which ones to wire, places the zsh layer under
|
|
66
|
+
`~/.config/ttheme`, and edits your terminal config and `~/.zshrc` between
|
|
67
|
+
`# ttheme begin` / `# ttheme end` markers — everything outside the markers is
|
|
68
|
+
left alone. Running it again updates in place; `--yes` skips every prompt and
|
|
69
|
+
takes the defaults.
|
|
70
|
+
|
|
71
|
+
**`init` installs no palettes.** It sets the machinery up and then offers the
|
|
72
|
+
catalog a series at a time — `tab` marks a series, enter installs every palette
|
|
73
|
+
in it; `ttheme browse` opens the full catalog any time, to add or drop single
|
|
74
|
+
palettes.
|
|
67
75
|
|
|
68
76
|
**WezTerm and iTerm2** — one archive per terminal in the
|
|
69
77
|
[latest release](https://github.com/kecan0406/ttheme/releases/latest):
|
|
@@ -98,40 +106,222 @@ from the palette), and the font + shader — identical across themes — ship as
|
|
|
98
106
|
one shared `ttheme.conf` you include once with `config-file`.
|
|
99
107
|
|
|
100
108
|
Building from a checkout works too: `mise install && bun install && mise run
|
|
101
|
-
build` writes the same tree to `dist/`,
|
|
102
|
-
|
|
109
|
+
build` writes the same tree to `dist/`, `mise run sandbox` tries it in a
|
|
110
|
+
throwaway home, and `mise run bin:build && node bin/ttheme.js init` installs
|
|
111
|
+
it for real.
|
|
103
112
|
|
|
104
113
|
## Use
|
|
105
114
|
|
|
106
115
|
```
|
|
107
116
|
ttheme list every palette, grouped, with previews
|
|
108
117
|
ttheme homura pin this tab (a unique prefix works: ttheme ho)
|
|
109
|
-
ttheme preview browse live — focus repaints the tab, enter keeps it
|
|
118
|
+
ttheme preview browse live — focus repaints the tab, enter keeps it (this tab or default)
|
|
110
119
|
ttheme next advance this tab to the next palette
|
|
111
|
-
ttheme
|
|
120
|
+
ttheme pin pick a palette for this directory — cd into it repaints, cd out restores
|
|
121
|
+
ttheme unpin drop the palette pinned to this directory
|
|
122
|
+
ttheme config edit settings in $EDITOR — they apply in new tabs
|
|
112
123
|
ttheme help the list above, in your terminal
|
|
124
|
+
|
|
125
|
+
ttheme browse pick palettes from the catalog in a live picker
|
|
126
|
+
ttheme list the catalog, ● installed and ○ not (a query filters it)
|
|
127
|
+
ttheme add install palettes from the catalog
|
|
128
|
+
ttheme remove uninstall palettes
|
|
129
|
+
ttheme update refresh the catalog from the registry
|
|
113
130
|
```
|
|
114
131
|
|
|
115
|
-
In `preview`,
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
132
|
+
In `preview`, series and palettes are listed by name (`TTHEME_SORT=series`
|
|
133
|
+
keeps the order they were added), groups start folded with the cursor on the
|
|
134
|
+
current palette;
|
|
135
|
+
`↑`/`↓` move (the tab repaints as the focus lands on a palette), `←`/`→` fold
|
|
136
|
+
and unfold (so do enter and space on a series), page up/down and home/end
|
|
137
|
+
jump, typing filters by substring and underlines the match (ctrl-u clears it),
|
|
138
|
+
enter applies, and esc steps back — first out of the filter, then out of the
|
|
139
|
+
preview with the original colors restored. Each palette row carries its 16
|
|
140
|
+
colors, normal over bright. The last line lists only the keys that work right
|
|
141
|
+
there, names the mode when it is not plain browsing (`FILTER`, `TUNE`, `CONFIG`,
|
|
142
|
+
`APPLY`, `KEYS`) and pins where esc goes to the right; `?` shows all of them.
|
|
143
|
+
alt-c opens the settings below in place — `↑`/`↓` pick one, `←`/`→` change it
|
|
144
|
+
(the sort and the search hint animation change live), enter writes the changed
|
|
145
|
+
lines to `config.zsh`, esc puts every value back. From 76
|
|
146
|
+
columns on, a sample session sits against the right edge of the window — the
|
|
147
|
+
16 colors, a prompt, git and test output, a selection — in the palette under
|
|
148
|
+
the cursor. The list and the sample widen with the window (the sample up to 64
|
|
149
|
+
columns) and the gap between them takes the rest; the tuning panel takes the
|
|
150
|
+
sample's place while open, and so does the key list once the sample is 48
|
|
151
|
+
columns wide.
|
|
152
|
+
Under Ghostty with `TTHEME_TAB_PALETTE=off`, enter asks **this tab** or
|
|
153
|
+
**default**: default records the palette as your startup palette (so a later
|
|
154
|
+
`add` or `remove` keeps it), rewrites `theme =` in the `# ttheme begin` block of
|
|
155
|
+
your Ghostty config and sends `SIGUSR2` to the Ghostty that owns the tab, so new tabs — and open tabs you have not
|
|
156
|
+
painted by hand — take the palette without a restart. Painting is per surface
|
|
157
|
+
otherwise: a new tab starts from the configured theme, not from what the last
|
|
158
|
+
tab was painted.
|
|
159
|
+
|
|
160
|
+
A palette can also bring a Ghostty background image. The block `init` writes
|
|
161
|
+
includes `~/.config/ttheme/backgrounds/<palette>.conf` for the configured
|
|
162
|
+
theme with an optional `config-file = ?…`, and choosing **default** points that
|
|
163
|
+
include at the new palette — so whatever Ghostty settings you put in that file
|
|
164
|
+
follow the default, and palettes without one show no image:
|
|
165
|
+
|
|
166
|
+
```
|
|
167
|
+
# ~/.config/ttheme/backgrounds/kagami.conf
|
|
168
|
+
background-image = ~/.config/ttheme/backgrounds/kagami.png
|
|
169
|
+
background-image-fit = cover
|
|
170
|
+
background-image-opacity = 0.2
|
|
171
|
+
```
|
|
120
172
|
|
|
121
|
-
|
|
173
|
+
ttheme ships no images; they stay on your machine. A background is Ghostty
|
|
174
|
+
config, not an escape sequence, so it follows the default for every window
|
|
175
|
+
rather than the palette painted on one tab.
|
|
176
|
+
|
|
177
|
+
A palette with no background yet can find one: on it in `preview`, tab opens
|
|
178
|
+
**find**, which searches a booru for the palette's character tag
|
|
179
|
+
(`meta.booru`) and lays the results out as a grid of thumbnails. It starts on
|
|
180
|
+
safebooru; `p` moves to yande.re, then konachan, then back — the three share
|
|
181
|
+
one tag vocabulary, so the same tag works on each. The site you are on sits in
|
|
182
|
+
a colored badge at the top right, and again at the start of the line above a
|
|
183
|
+
picture you try on, next to the site the artwork itself came from when the post
|
|
184
|
+
records one (`pixiv.net`, `deviantart.com`). The grid starts
|
|
185
|
+
with **cutouts** — posts carrying the site's transparency tags
|
|
186
|
+
(`transparent_background` or `vector_trace` on safebooru, `transparent_png` on
|
|
187
|
+
yande.re, `transparent` or `vector` on konachan) whose PNG header says they have
|
|
188
|
+
an alpha channel; yande.re's `transparent_png` already means exactly that, so
|
|
189
|
+
its posts skip the header check, which its slow file server would drag out —
|
|
190
|
+
and the counter reads shown out of checked, `13/33`. Pictures by the uploader of the backgrounds you already have
|
|
191
|
+
in the same series come first and carry `≈`, so a series keeps one hand;
|
|
192
|
+
anything under 1600 px on its long edge shows its size in yellow. Enter tries
|
|
193
|
+
the picture on: ttheme downloads the original and paints the whole window with
|
|
194
|
+
it the way the installed background will look — tinted with the palette,
|
|
195
|
+
cropped with headroom above the face, at the opacity the contrast gate allows —
|
|
196
|
+
over a sample of shell output, with the share of transparent pixels next to its
|
|
197
|
+
size (`opaque` when there are none). `←`/`→` try the neighbours, enter installs,
|
|
198
|
+
and the preview carries on straight into the tuning panel below. Tab switches to
|
|
199
|
+
every post of the character, esc goes back. Only `safe` and `general` posts are
|
|
200
|
+
ever shown — yande.re and konachan are always asked for `rating:s`, whatever
|
|
201
|
+
else is searched — and downloads stay in `~/.cache/ttheme/<site>/`. ttheme keeps no
|
|
202
|
+
list of images — the tag is all it knows about a character.
|
|
203
|
+
|
|
204
|
+
An install writes `<palette>.png` (the tinted figure), `<palette>@fill-<focus>.png`
|
|
205
|
+
(the window-shaped crop), `<palette>.conf` and the untouched original under
|
|
206
|
+
`backgrounds/originals/`, and removes any earlier tuning of that palette. The
|
|
207
|
+
conf opens with where the picture came from —
|
|
208
|
+
`# from yande.re 214705 https://yande.re/post/show/214705` — and the tuning
|
|
209
|
+
panel shows it next to the palette's name.
|
|
210
|
+
|
|
211
|
+
`preview` shows the background of the palette under the cursor while you
|
|
212
|
+
browse: through the kitty graphics protocol it draws that palette's
|
|
213
|
+
`background-image` where Ghostty would place it, faded by
|
|
214
|
+
`background-image-opacity`, behind the list — or just its plain background when
|
|
215
|
+
it has no file. Only PNG images preview.
|
|
216
|
+
|
|
217
|
+
On a palette with a background, tab opens a panel that tunes it in place:
|
|
218
|
+
`↑`/`↓` pick size, position or opacity, and `←`/`→` change it (with shift, ten
|
|
219
|
+
steps at a time). Size walks 1% at a time, shown large in the middle of the
|
|
220
|
+
screen as it changes: 100% is the whole image fitted into the window
|
|
221
|
+
(`contain`), below that it shrinks to 20%, above it the image grows around the
|
|
222
|
+
face until it covers the window, and the top step is **fill** (`cover`). Fill
|
|
223
|
+
uses `<palette>@fill-<focus>.png` when it sits beside the image — a crop made
|
|
224
|
+
to fill the window, whose name carries the height of the face in percent, which
|
|
225
|
+
the sizes above 100% zoom around — and the image itself otherwise. Position
|
|
226
|
+
steps through the nine `background-image-position` anchors, or `1`–`9` jump to
|
|
227
|
+
one in reading order; opacity moves by 0.01. Space turns the palette's
|
|
228
|
+
background off and on, `=` returns it to its defaults, enter keeps the change
|
|
229
|
+
and esc puts back what the panel opened with. `f` in the panel opens find again
|
|
230
|
+
to replace the picture.
|
|
231
|
+
|
|
232
|
+
The palette's `.conf` holds those defaults; the preview only appends two
|
|
233
|
+
optional includes to it and keeps everything else in `<palette>.tune.conf` (the
|
|
234
|
+
tuning) and `<palette>.off.conf` (the off switch), which Ghostty loads after
|
|
235
|
+
the conf. Kept changes are written when the preview closes, by whichever key, and
|
|
236
|
+
Ghostty reloads when that palette is the default. Ghostty has no scale setting,
|
|
237
|
+
so every size but 100% and fill is baked into a copy beside the image and the
|
|
238
|
+
tuning points at it: below 100% onto a transparent canvas of the image's own
|
|
239
|
+
size (`kagami@60-bottom-right.png`, fitted with `contain`), above it onto one of
|
|
240
|
+
the window's size at the time (`kagami@130-center-2880x1800.png`, with
|
|
241
|
+
`cover`). Baking runs `sips`, so those sizes are offered on macOS only.
|
|
242
|
+
|
|
243
|
+
The preview draws inside the cell grid, and Ghostty's `window-padding` around
|
|
244
|
+
it keeps showing the configured background. While the cursor rests on the
|
|
245
|
+
configured palette and nothing has been tuned, the preview draws nothing and
|
|
246
|
+
lets that background show through whole. Once Ghostty supports kitty's relative
|
|
247
|
+
placements (merged after 1.3.1), the preview notices when it opens and hangs
|
|
248
|
+
its layers out over the padding instead, so every palette reaches the window
|
|
249
|
+
edge.
|
|
250
|
+
|
|
251
|
+
`pin` opens the same browser and, on enter, asks **this directory** or **and
|
|
252
|
+
below**; the answer lands in `~/.config/ttheme/pins`, one `path palette` per
|
|
253
|
+
line, where `path/**` covers everything below it (`~` works, and the file is
|
|
254
|
+
yours to edit). From then on a tab that `cd`s into a pinned path takes its
|
|
255
|
+
palette — symlinks resolve to the pinned directory — and `cd`ing out restores
|
|
256
|
+
what the tab had before, unless you painted it by hand in between, in which
|
|
257
|
+
case your pick stays. The nearest pinned ancestor wins, so a project can pin
|
|
258
|
+
one palette and a subfolder another. Open tabs pick up a changed pins file on
|
|
259
|
+
their next `cd`; `unpin` drops the pin on the current directory.
|
|
260
|
+
|
|
261
|
+
`preview`, `next`, `pin`, `unpin`, `config` and `help` match exactly; every other first argument is read
|
|
122
262
|
as a palette name, where a unique prefix is enough. Mistyped names get a "did
|
|
123
263
|
you mean" suggestion instead of a wall of output. Piped output drops color and
|
|
124
|
-
turns tab-separated
|
|
125
|
-
is respected.
|
|
264
|
+
turns tab-separated, and `NO_COLOR` is respected.
|
|
126
265
|
|
|
127
266
|
New tabs take the next palette in group order, with the counter shared across
|
|
128
267
|
tabs — so opening four tabs walks you through four different characters rather
|
|
129
268
|
than rolling the same one twice.
|
|
130
269
|
|
|
131
|
-
|
|
270
|
+
Settings live in `~/.config/ttheme/config.zsh` — `init` seeds it from your
|
|
271
|
+
answers, `ttheme config` opens it in `$EDITOR` and alt-c in `preview` edits it in place. Each line is a plain zsh
|
|
272
|
+
`: ${VAR:=value}` assignment, so a variable exported before the layer loads
|
|
273
|
+
still wins:
|
|
274
|
+
|
|
275
|
+
| Setting | Default | |
|
|
132
276
|
|---|---|---|
|
|
133
|
-
| `TTHEME_TAB_PALETTE` | `seq` | `off`
|
|
277
|
+
| `TTHEME_TAB_PALETTE` | `seq` | `off` keeps new tabs on the terminal's configured theme (`preview` → default changes it) |
|
|
134
278
|
| `TTHEME_ANNOUNCE` | `1` | `0` silences the one-line notice under "Last login:" |
|
|
279
|
+
| `TTHEME_FX` | `typewriter` | search hint animation — `typewriter`, `decode` or `glitch` |
|
|
280
|
+
| `TTHEME_SORT` | `abc` | `series` lists series and palettes in the order they were added instead of by name — in `ttheme`, `preview` and, once exported, the `init` picker |
|
|
281
|
+
|
|
282
|
+
## The catalog
|
|
283
|
+
|
|
284
|
+
A fresh install carries no palettes at all. `ttheme browse` opens the catalog as
|
|
285
|
+
a live picker — groups fold and unfold, typing filters, the tab repaints as the
|
|
286
|
+
cursor lands on a palette, `tab` marks one (or a whole series from its header),
|
|
287
|
+
and enter installs exactly what is marked and removes what is not:
|
|
288
|
+
|
|
289
|
+
```
|
|
290
|
+
◆ catalog (4/107 · 2 picked)
|
|
291
|
+
│ ⌕ bo_
|
|
292
|
+
│ ▾ Bocchi the Rock! (2/4) ぼっち・ざ・ろっく!
|
|
293
|
+
│ ▶ ● bocchi ● ▁▁▁▁▁▁ Sakura + Kessoku
|
|
294
|
+
│ ● kita ● ▁▁▁▁▁▁ Wild Cherry + Kessoku
|
|
295
|
+
│ ○ nijika ● ▁▁▁▁▁▁ Medallion
|
|
296
|
+
│ ○ ryo ● ▁▁▁▁▁▁ TokyoNight Storm
|
|
297
|
+
└ ↑↓ move · ←→ fold · tab pick · type to filter · enter install · esc cancel
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
The counts stay honest: `4/107` is what the filter matched out of the catalog,
|
|
301
|
+
`2 picked` is the install set, and `(2/4)` on the series header is how many of
|
|
302
|
+
its shown palettes are in it. The dot and the bar are the palette's real cursor
|
|
303
|
+
and its ANSI colors.
|
|
304
|
+
|
|
305
|
+
The same four verbs work without the picker:
|
|
306
|
+
|
|
307
|
+
```sh
|
|
308
|
+
ttheme list jujutsu # what the catalog has, and what you already installed
|
|
309
|
+
ttheme add gojo geto # two more, written into your terminal configs
|
|
310
|
+
ttheme remove kyubey # and one fewer
|
|
311
|
+
ttheme update # new palettes, without an npm release
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
`browse`, `add` and `remove` rewrite `palettes.zsh`, each wired terminal's
|
|
315
|
+
`themes/` directory and the `theme =` line in its config, then the shell re-reads
|
|
316
|
+
them — the change is live in the tab you ran it in. The first palette you install
|
|
317
|
+
becomes the one new windows open with.
|
|
318
|
+
|
|
319
|
+
`update` refetches the catalog from the registry; every palette in it has already
|
|
320
|
+
passed the contrast gate in CI, and `add` checks the numbers again before it
|
|
321
|
+
writes anything.
|
|
322
|
+
|
|
323
|
+
Installed palettes are listed in `~/.config/ttheme/installed.json`, and the
|
|
324
|
+
catalog is cached in `~/.config/ttheme/catalog.json`.
|
|
135
325
|
|
|
136
326
|
## What each terminal can actually do
|
|
137
327
|
|
|
@@ -153,26 +343,30 @@ in its build.
|
|
|
153
343
|
|
|
154
344
|
## Adding a palette
|
|
155
345
|
|
|
156
|
-
One file — copy any of `themes/*.toml
|
|
346
|
+
One file — copy any of `themes/*.toml`. `CONTRIBUTING.md` has the rules for
|
|
347
|
+
sending one back; the short version is that this repository takes **color values
|
|
348
|
+
only and never images**:
|
|
157
349
|
|
|
158
350
|
```toml
|
|
159
351
|
[meta]
|
|
160
|
-
name = "
|
|
161
|
-
group = "Madoka Magica"
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
352
|
+
name = "madoka" # must match the filename
|
|
353
|
+
group = "Madoka Magica" # needs a [[group]] in themes/_groups.toml
|
|
354
|
+
order = 15 # position in the rotation
|
|
355
|
+
ansi_source = "Elegant + Magica" # what the harmonizer was fed
|
|
356
|
+
booru = "kaname_madoka" # safebooru character tag find searches
|
|
357
|
+
signature = ["cursor", "ansi1", "ansi3"] # the three slots the site draws as identity
|
|
165
358
|
|
|
166
359
|
[colors]
|
|
167
|
-
background = "#
|
|
168
|
-
foreground = "#
|
|
169
|
-
cursor = "#
|
|
170
|
-
selection_background = "#
|
|
360
|
+
background = "#201516"
|
|
361
|
+
foreground = "#fbdbdd"
|
|
362
|
+
cursor = "#ffc1c6"
|
|
363
|
+
selection_background = "#553444"
|
|
171
364
|
ansi = [ ... 16 colors ... ]
|
|
172
365
|
```
|
|
173
366
|
|
|
174
|
-
|
|
175
|
-
theme
|
|
367
|
+
The series title and its `native` reading live once in `themes/_groups.toml`,
|
|
368
|
+
never in a theme file. `[font]` and `[ghostty]` are inherited from
|
|
369
|
+
`themes/_defaults.toml` unless the theme overrides them. Then:
|
|
176
370
|
|
|
177
371
|
```sh
|
|
178
372
|
mise run build # regenerates dist/ for all five terminals — fails on bad contrast
|
|
@@ -180,10 +374,11 @@ mise run build --only kitty # just one terminal's subtree
|
|
|
180
374
|
mise run test
|
|
181
375
|
```
|
|
182
376
|
|
|
183
|
-
All
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
377
|
+
All one hundred and eight currently pass unwaived — `kyubey` runs tightest at
|
|
378
|
+
4.28:1 where accents need 3:1: it is the one light palette, so every accent has
|
|
379
|
+
to darken enough to hold against a near-white background. If a palette genuinely
|
|
380
|
+
has to break a rule, waive it by name and say why; a waiver without a reason
|
|
381
|
+
fails the test suite.
|
|
187
382
|
|
|
188
383
|
```toml
|
|
189
384
|
[contrast]
|
|
@@ -193,11 +388,22 @@ reason = "why this palette is the exception"
|
|
|
193
388
|
|
|
194
389
|
## Credits
|
|
195
390
|
|
|
196
|
-
ANSI
|
|
197
|
-
|
|
391
|
+
Base ANSI ramps come from
|
|
392
|
+
[mbadolato/iTerm2-Color-Schemes](https://github.com/mbadolato/iTerm2-Color-Schemes)
|
|
393
|
+
(MIT), whose notice keeps each individual scheme's copyright with its own
|
|
394
|
+
author. Two palettes are sourced directly instead: `miku` from
|
|
395
|
+
[vauxe/hatsune-miku-theme](https://github.com/vauxe/hatsune-miku-theme) (MIT)
|
|
396
|
+
and `magi` from [lotap/magi-theme](https://github.com/lotap/magi-theme) (MIT).
|
|
397
|
+
Every palette records its input in `meta.ansi_source`, and only that input's
|
|
398
|
+
hues survive: the harmonizer normalizes lightness and saturation away and
|
|
399
|
+
rotates each non-signature hue toward the palette's own seed, so no scheme is
|
|
400
|
+
reproduced here. Shaders come from
|
|
198
401
|
[sahaj-b/ghostty-cursor-shaders](https://github.com/sahaj-b/ghostty-cursor-shaders)
|
|
199
402
|
(MIT), see `ghostty/shaders/`.
|
|
200
403
|
|
|
201
404
|
Palettes are inspired by characters from the listed works; this project is
|
|
202
405
|
unaffiliated with and unendorsed by their rights holders. No character art,
|
|
203
406
|
audio or trademarked asset is redistributed here — only color values.
|
|
407
|
+
Terminal background images are downloaded from the booru you pick only when you
|
|
408
|
+
ask `find` for one, built on your own machine and written to
|
|
409
|
+
`~/.config/ttheme/backgrounds/`; none ship in this repository or on npm.
|