csakura logo

csakura

A sakura tree with falling petals for your terminal

CCMIT 195 4Health 73
GitHub

What is it?

What it is

A terminal-based sakura tree animation with procedurally generated blossoms and drifting petals, inspired by cmatrix and cava but enhanced with visual polish.

Why it exists

To provide a visually appealing, low-resource terminal animation that combines procedural growth, dynamic petal movement, and customizable aesthetics for terminal users.

Who should use it

Terminal enthusiasts looking to customize their workspaceUsers of tiling window managers like HyDE or kittyDevelopers wanting a low-CPU aesthetic background/screensaverPeople who enjoy ASCII and Unicode terminal art

Who should avoid it

Users without a terminal emulator that supports 256-color or UnicodeUsers looking for high-performance 3D graphicsUsers who cannot install build tools like make or C compilers

How it works

A quick walkthrough in plain English

How csakura works

Step 1 of 3

You interact with it

Open csakura, send a request, or connect it to your stack.

Features

Procedurally generated cherry-blossom tree
Dynamic petal physics with wind simulation
15 customizable blossom color palettes
Auto-adjusts to terminal window resizing
Ncurses-based terminal rendering
Configurable FPS, petal density, and wind strength
ASCII glyph fallback mode

Advantages

  • Low CPU overhead
  • Highly customizable via command-line arguments
  • Supports transparent terminal backgrounds
  • Lightweight C99 implementation
  • Cross-platform support (Linux, macOS)

Disadvantages

  • Requires specific fonts (Nerd Fonts) for best Unicode visual quality
  • Best performance/color support requires 256-color terminal emulators

Installation

cloud

N/A

docker

N/A

native

Arch Linux: sudo pacman -S --needed base-devel ncurses && git clone https://github.com/realstrawhat/csakura.git && cd csakura && makepkg -si OR make && sudo make install. macOS: brew install ncurses && git clone https://github.com/realstrawhat/csakura.git && cd csakura && brew install --HEAD --formula./Formula/csakura.rb OR brew install ncurses && git clone https://github.com/realstrawhat/csakura.git && cd csakura && make && sudo make install. Other Linux: git clone https://github.com/realstrawhat/csakura.git && cd csakura && make && sudo make install.

compose

N/A

FAQ

How do I install csakura on Arch Linux?

Install base-devel and ncurses, then clone the repo and run `makepkg -si` or `make && sudo make install`. Uninstall with `sudo pacman -R csakura` or `sudo make uninstall`.

What are the steps to install csakura on macOS using Homebrew?

First install ncurses via `brew install ncurses`, clone the repository, then either build with `make && sudo make install` or install the formula via `brew install --HEAD --formula ./Formula/csakura.rb`. Uninstall with `brew uninstall csakura` or `sudo make uninstall`.

How can I adjust the animation speed, petal density, and wind strength?

Use command-line options: `-f FPS` (5‑60, default 20) for frames per second, `-p NUM` (1‑10, default 5) for petal density, and `-w NUM` (0‑10, default 1) for wind strength. Example: `csakura -f 12 -p 3` for a low‑CPU chill mode.

How do I change the blossom color palette?

Specify a palette name with `-c NAME` (default: sakura) or press `c`/`C` while running to cycle forward/backward through the 15 palettes: sakura, rose, blush, magenta, peach, coral, sunset, gold, lavender, violet, sky, mint, matcha, white, ink.

What should I do if the Unicode blossoms are not displaying correctly?

Ensure you are using a 256‑color terminal and a font that supports the blossom glyphs (most Nerd Fonts work). If not, launch with the `-a` flag to fall back to ASCII glyphs only.

How can I regrow the tree or quit the program while it's running?

Press `r` to regrow the tree procedurally. To quit, press `q` or the Escape key.

Loading documentation…
View on GitHub

Featured in Videos

YouTube tutorials and walkthroughs for csakura

Alternatives

Similar projects ranked by category, topics, and text overlap.

Compare
csakura | MushyBook