realstrawhat/csakura
GitHub: realstrawhat/csakura
csakura 是一款基于 ncurses 的终端樱花树动画程序,为命令行环境带来程序化生成、花瓣随风飘落的视觉效果。
Stars: 106 | Forks: 3
# csakura 🌸
为你的终端带来一棵飘落花瓣的樱花树——秉承
`cmatrix` 和 `cava` 的精神,但更加美观。

- 程序化生成的樱花树(每次运行都不同,按 `r` 重新生长)
- 花瓣在漫游的微风中飘落,在地面安息并逐渐褪色
- 自动适应任何终端尺寸,并在尺寸改变时重新生成
- 使用 C99 + ncurses 编写,低 CPU 占用(默认 20 FPS)
- 利用你的终端背景色——在透明的 kitty / HyDE 下效果极佳
- 15 种花色调色板(`-c` / 按 `c`)
- 位于 [`web/`](web/) 中的配套 HTML 演示
## 安装
### Arch Linux
```
sudo pacman -S --needed base-devel ncurses
git clone https://github.com/realstrawhat/csakura.git
cd csakura
makepkg -si
```
或者:
```
make && sudo make install
```
卸载:`sudo pacman -R csakura` 或 `sudo make uninstall`。
### macOS
使用 [Homebrew](https://brew.sh):
```
brew install ncurses
git clone https://github.com/realstrawhat/csakura.git
cd csakura
brew install --HEAD --formula ./Formula/csakura.rb
```
或者自行构建:
```
brew install ncurses
git clone https://github.com/realstrawhat/csakura.git
cd csakura
make
sudo make install
```
然后运行 `csakura`。使用 `brew uninstall csakura` 或 `sudo make uninstall` 卸载。
### 其他 Linux
需要 C 编译器 + 宽字符 ncurses (`libncursesw5-dev` / `ncurses-devel`):
```
git clone https://github.com/realstrawhat/csakura.git
cd csakura
make && sudo make install
```
## 用法
```
csakura [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)
-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
```
示例:
```
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
```
## Web 版本
在浏览器中打开 [`web/index.html`](web/index.html) 即可获得相同的动画
(通过角落里淡淡的 ⋮ 进行颜色选择)。你也可以在
`/web` 文件夹上启用 GitHub Pages 来进行在线演示。
## 注意事项
- 最佳体验需使用 256 色终端(kitty、iTerm2 或现代版 Terminal.app)。
- Unicode 樱花需要包含它们的字体(大多数 Nerd Fonts 都有)。如果没有,请使用 `-a`。
- 在 macOS 上,建议使用 Homebrew 的 `ncurses` 以获得最佳颜色支持。
## 致谢
如果你使用了 csakura,请注明出处 **realstrawhat**
(https://github.com/realstrawhat/csakura)。
## 许可证
MIT
标签:C99, ncurses, 图形动画, 多模态安全, 娱乐, 客户端加密, 终端美化