cyber-rain
cyber-rain is a smoother, themeable Rust terminal digital-rain visualizer: falling glyph streams, raw terminal rendering, hidden messages, deterministic demo runs, and enough controls to make your terminal look like it knows something you do not.
Install
With Homebrew:
From crates.io:
With Nix:
For Arch/AUR packaging, see packaging/aur.
From this repository:
Or run it directly:
Quit with q, Esc, or Ctrl-C. Pause with Space or p.
Features
- Themeable rain:
green,cyan,amber,crimson,ghost, andrainbow. - Tunable motion with
--fps,--speed, and--density. - TOML config from
~/.config/cyber-rain/config.tomlor--config. - Custom TOML themes with
--theme examples/themes/phosphor.toml. - Hidden message mode with
--message "follow the white rabbit". - Message files with
--message-file transmissions.txt. - Presets with
--preset classic|ghost|cyberpunk|calm|chaos. - Deterministic demo mode with
--demo. - Auto-exit recording mode with
--duration 10. - Clean screensaver output with
--no-status. - Shell completions with
--generate-completion zsh. - Man page generation with
--generate-man. - Benchmark mode with
--benchmark 3. - Runtime stats with
--stats. --asciimode for plain terminals.--seedfor reproducible recordings or demos.- Terminal resize handling.
- Buffered terminal rendering for smoother motion.
- Occasional burst storms, or
--calmto disable them. - Live keyboard controls while the rain is running.
Controls
q / Esc / Ctrl-C quit
Space / p pause
Up / Down speed up or slow down
Left / Right decrease or increase density
1-6 switch palettes
b toggle burst storms
m toggle hidden messages
s toggle status bar
Examples
For a deterministic demo recording:
Generate shell completions:
Generate a man page:
Config
cyber-rain automatically reads ~/.config/cyber-rain/config.toml when it exists. CLI flags override config values.
Example config and themes live under examples.
Theme files support custom glyph sets and RGB colors:
= "phosphor"
= "0123456789ABCDEF"
[]
= [236, 255, 239]
= [255, 255, 255]
= [32, 255, 128]
= [0, 72, 42]
Demo Asset
The README preview is generated from an actual PTY run:
Release Checklist
- Update
CHANGELOG.md. - Run
cargo fmt --all. - Run
cargo test. - Run
cargo clippy -- -D warnings. - Run
cargo package --allow-dirty. - Publish with
cargo publish. - Create a tag like
v0.3.0and push it to build GitHub release binaries.
License
Licensed under either of:
- Apache License, Version 2.0
- MIT license
at your option.