make-it-rain

Crates.iomake-it-rain
lib.rsmake-it-rain
version1.2.1
created_at2025-09-25 03:54:41.49562+00
updated_at2025-09-25 14:18:19.151544+00
descriptionA terminal Matrix rain effect, configurable and hackable
homepage
repositoryhttps://github.com/saltnpepper97/make-it-rain
max_upload_size
id1854154
size3,847,534
(saltnpepper97)

documentation

README

🌧️ Make It Rain - Terminal Matrix Effect

AUR

Demo

A fast, customizable Matrix rain animation for your terminal written in Rust. Featuring smooth trails, RGB mode, drop glitching, and full control over the look and feel.


✨ Features

  • Smooth falling Matrix drops with variable speed and trail length
  • RGB fade or classic green shading
  • Glitching and flickering effects for dynamic visuals
  • Stuck characters left behind by drops, disableable
  • Configurable frame rate and character palettes
  • Built with crossterm for fast terminal rendering

⚙️ Options

  -D, --debug                        Enable debug output
  -n, --drops <DROPS>                Initial number of active drops [default: 10]
      --rgb                          Enable RGB fade coloring instead of preset green steps
      --min-trail <MIN_TRAIL>        Minimum trail length (clamped between 4 and 40, cannot exceed --max-trail) [default: 8]
      --max-trail <MAX_TRAIL>        Maximum trail length (clamped between 4 and 40, cannot be less than --min-trail) [default: 25]
      --glitch-prob <GLITCH_PROB>    Probability of glitch characters appearing (0.0 - 1.0) [default: 0.003]
      --flicker-prob <FLICKER_PROB>  Probability of character flickering (0.0 - 1.0) [default: 0.01]
      --stuck-prob <STUCK_PROB>      Probability (0.0–1.0) that a falling drop leaves a character stuck on screen when it resets. Lower = fewer stuck characters [default: 0.02]
      --drop-prob <DROP_PROB>        Probability of a new drop spawning in an empty column (0.0 - 1.0) [default: 0.05]
      --fps <FPS>                    Frames per second (clamped between 1 and 15) [default: 12]
      --palette <PALETTE>            Character palette to use: classic | katakana | alphanumeric | symbols | greek [default: classic]
      --no-stuck                     Disable stuck characters (characters remain after drop moves)
      --no-glitch                    Disable glitch effects entirely
      --no-flicker                   Disable flickering effects entirely
  -h, --help                         Print help
  -V, --version                      Print version

🚀 Installation

📦 Arch Linux (AUR)

Using an AUR helper (yay, paru, etc.):

yay -S make-it-rain
# or
paru -S make-it-rain

Manual AUR installation:

git clone https://aur.archlinux.org/make-it-rain.git
cd make-it-rain
makepkg -si

🦀 Build from Source

Make sure you have Rust installed. Then:

git clone https://github.com/saltnpepper97/make-it-rain.git
cd make-it-rain
cargo build --release
Commit count: 14

cargo fmt