gitmyhub

nsakura

Nim ★ 21 updated 22d ago

A terminal screensaver that animates falling cherry blossom leaves over an ASCII art tree, with wind and flutter physics, double-buffered flicker-free rendering, and a few tuning flags.

NimillwillHomebrewNimblesetup: easycomplexity 1/5

nsakura is a terminal screensaver that displays a cherry blossom scene in your text-based terminal window. It draws an ASCII art tree and animates leaves falling from it, with wind gusts and flutter motion built into a lightweight physics loop. The rendering is double-buffered so the animation plays without visible flickering.

The program is written in Nim, a compiled language, and uses the illwill library for terminal drawing. The tree art is embedded in the binary by default, but you can point it at a custom art file with a flag if you want a different image. It scales to whatever size your terminal window is, and the README suggests running it in a wide fullscreen terminal for the best effect.

A few optional flags let you adjust the behavior. You can change the fall speed with --speed, control how much the leaves attached to the tree sway with --sway, and supply a custom art file with --art. Pressing Q or Escape exits the screensaver.

Installation on macOS and Linux is available through Homebrew with one command. You can also build from source if you have Nim and the Nimble package manager installed. The project is MIT licensed.

Where it fits