Skip to content

cowboy8625/rusty-rain

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Matrix rain demo
Rusty Rain

crates.io last updated repo size issues lines of code license Discord Chat

Rusty Rain is a fast, cross-platform Matrix-style rain effect for your terminal, written in Rust.
Fully customizable: colors, characters, speed, direction — make it as chill or chaotic as you want.


🚀 Quick Install

Method Command
Cargo (stable) cargo install rusty-rain
Cargo (latest) cargo install --git https://github.com/cowboy8625/rusty-rain.git
eget eget cowboy8625/rusty-rain
Docker (build) docker build -t rusty-rain . && docker run --rm -it rusty-rain alpha-num -s
Docker (pull) docker run --rm -it ghcr.io/cowboy8625/rusty-rain:latest -c alpha-num -s
Debian Package curl -sSL https://raw.githubusercontent.com/cowboy8625/rusty-rain/master/install.sh | bash

🎯 Quick Start

rusty-rain

Default mode: green binary rain, classic Matrix look. Press ESC, Ctrl + C, or q to quit.


🎨 Examples

# Japanese characters, teal rain, white head, flowing left
rusty-rain -C 0,139,139 -H 255,255,255 -g jap -s -d left

# Emoji chaos
rusty-rain -g emojis -C red -H yellow -S 0,50

# Large letters in bright blue, rain up
rusty-rain -g large-letters -C blue -H white -d up

⚙️ Customization

Full CLI Options
Cross platform CMatrix like program.

Usage: rusty-rain [OPTIONS]

Options:
  -s, --shade


  -g, --group <GROUP>
          Set what kind of characters are printed as rain.
          OPTIONS:
              all            - This shows most of the Character Groups all at once.
              alphalow       - Lower Case Alphabet Characters
              alphaup        - Upper Case Alphabet Characters
              arrow          - Arrow Emojis or Fancy Characters
              bin            - All Ones and Zeros
              cards          - Playing Cards
              classic        - closer to what the default look is for cmatrix
              clock          - 🕑
              crab           - 🦀
              dominosh       - 🀽
              dominosv       - 🁫
              earth          - 🌎
              emojis         - This is just a bunch of random Emojis
              jap            - Japanese Characters
              large-letters  - Cool Looking Large Letters
              moon           - 🌕
              num            - Good ol fashion Numbers
              numbered-balls - These are like pool balls
              numbered-cubes - These are like the pool balls but just cubes
              open-source    - Open Source icon emojis
              pglangs        - These are programming language icons emojis
              plants         - Plants of sorts
              shapes         - Squares and Circles of a few colors
              smile          - 😃


          [default: bin]

  -C, --color <COLOR>
          Set color of Rain with color string name or tuple
          OPTIONS:
              white,
              red,
              blue,
              green,
              r,g,b


          [default: green]

  -H, --head <HEAD>
          Set the color of the first char in Rain.
          OPTIONS:
              white,
              red,
              blue,
              green,
              r,g,b,
              #RRGGBB


          [default: white]

  -d, --direction <DIRECTION>
          Set the direction of the Rain.
          Default is set to down/south
          OPTIONS:
              up or north,
              down or south,
              left or west,
              right or east


          [default: south]

  -S, --speed <SPEED>
          [default: 0,200]

  -D, --display-group
          Display Char Group

  -h, --help
          Print help (see a summary with '-h')

  -V, --version
          Print version
Config Options

[!NOTE] Things in config will override CLI options. This probably will change in the future.

# windows path %APPDATA%\\rusty-rain\\config.toml
# linux   path ~/.config/rusty-rain/config.toml
# mac    path ~/.config/rusty-rain/config.toml
speed = "0,200"
[groups.neovim]
range = [
  { start = 62319, end = 62320 },
]
width = 2

[groups.rust]
range = [
  { start = 59304, end = 59305 },
]
width = 2

🛠 Contributing

We welcome:

  • 🐛 Bug reports
  • 💡 Feature requests
  • 🔤 New character groups
  • 🧑‍💻 Code contributions

Open an issue or pull request — let’s make it rain together. 🤣


⭐ Star History

Star History Chart

📜 License

APACHE © cowboy8625

Sponsor this project

  •  

Contributors 7