A sakura tree with falling petals for your terminal — in the spirit of
cmatrix and cava, but prettier.
- Procedurally grown cherry-blossom tree (different every run, press
rto regrow) - Petals drift down on a wandering wind, settle on the ground, and fade
- Auto-adjusts to any terminal size, regenerates on resize
- Written in C99 + ncurses, low CPU (default 20 FPS)
- Uses your terminal background — great with transparent kitty / HyDE
- 15 blossom color palettes (
-c/ pressc) - Matching HTML demo in
web/
sudo pacman -S --needed base-devel ncurses
git clone https://github.com/realstrawhat/csakura.git
cd csakura
makepkg -siOr:
make && sudo make installUninstall: sudo pacman -R csakura or sudo make uninstall.
With Homebrew:
brew install ncurses
git clone https://github.com/realstrawhat/csakura.git
cd csakura
brew install --HEAD --formula ./Formula/csakura.rbOr build yourself:
brew install ncurses
git clone https://github.com/realstrawhat/csakura.git
cd csakura
make
sudo make installThen run csakura. Uninstall with brew uninstall csakura or sudo make uninstall.
Need a C compiler + wide-char ncurses (libncursesw5-dev / ncurses-devel):
git clone https://github.com/realstrawhat/csakura.git
cd csakura
make && sudo make installcsakura [options]
-f FPS frames per second, 5-60 (default: 20)
-p NUM petal density, 1-10 (default: 5)
-w NUM wind strength, 0-10 (default: 1)
-c NAME blossom palette (default: sakura)
-a ASCII glyphs only (no unicode blossoms)
-d, --debug show detailed weather diagnostics at the bottom
--force=day|night|rain|norain|fog|nofog|snow|nosnow|calm|light|moderate|strong
skip/override the weather fetch; comma-separate to combine,
e.g. --force=night,snow,strong
-h help
-v version
palettes:
sakura, rose, blush, magenta, peach,
coral, sunset, gold, lavender, violet,
sky, mint, matcha, white, ink
keys:
q / Esc quit
r regrow the tree
c next color palette
C previous color palette
Examples:
csakura # default
csakura -f 12 -p 3 # chill / low CPU (nice in a side pane)
csakura -p 10 -w 6 # windy petal storm
csakura -c mint # mint palette
csakura --debug # show detailed weather diagnostics at the bottom
csakura --force=night,snow,strong # force night time with heavy snow and strong windOpen web/index.html in a browser for the same animation
(color picker via the faint ⋮ in the corner). You can also enable GitHub Pages
on the /web folder for a live demo.
- Best with a 256-color terminal (kitty, iTerm2, or modern Terminal.app).
- Unicode blossoms need a font that has them (most Nerd Fonts do). Use
-aif not. - On macOS, Homebrew’s
ncursesis recommended for the best color support.
If you use csakura, please credit realstrawhat
(https://github.com/realstrawhat/csakura).
MIT