A terminal screensaver with multiple visual effects, powered by cellophane.
- perlin - Flowing Perlin noise visualized with Braille characters and color gradients
- slime - Physarum slime mold simulation with emergent patterns
- maelstrom - Text that swirls into a spiral vortex
- conway - Conway's Game of Life with terminal cell genetics
- spiral - Wavy spiral animation, also using Braille characters
- collapse - Text collapses under gravity in a configurable direction
- cosine - Undulating wave effect driven by cosine functions
- saturn - EarthBound battle backgrounds rendered in the terminal with parallax scrolling and distortion
cargo install whoa# Cycle through all enabled animations
whoa
# Run a specific animation
whoa saturn
whoa perlin --gradient ocean
whoa collapse --direction up
# Screensaver mode (exits on any input)
whoa --screensaver| Animation | Flags |
|---|---|
saturn |
--bg-index <N>, --no-giygas, --lifetime <seconds> |
perlin |
--gradient <name>, --speed <float> |
slime |
--gradient <name> |
maelstrom |
--wait-time <seconds>, --speed-min <float>, --speed-max <float> |
conway |
--stale-ticks <N>, --tick-rate <float> |
collapse |
--direction <up|down|left|right|random> |
cosine |
--speed <float> |
Whoa looks for a config file at ~/.config/whoa/config.toml. A default one is created on first run.
enabled_animations = ["saturn", "perlin", "slime", "maelstrom", "conway", "collapse", "cosine"]
animation_time = 30.0 # seconds before switching (0.0 = no limit)
screensaver_mode = false
[perlin]
gradient = "aurora"
speed = 1.0
[collapse]
direction = "down"Built-in gradients: aurora, ocean, fire, vapor, mono
Custom gradients can be defined in the config:
[gradients.custom_name]
colors = [[255, 0, 0], [0, 255, 0], [0, 0, 255]]
bg = [0, 0, 0]Animations that display text (maelstrom, conway, collapse, cosine) pull content from several sources:
- Piped stdin -
cat file.rs | whoa maelstrom WHOA_TEXT_CMD- environment variable specifying a command to generate text (e.g.man bash)WHOA_PATH- directory to scan for source filesWHOA_FILE_READER- custom command for reading files (e.g.bat --force-colorization)- Fallback - whoa's own source code, highlighted by syntect
- saturn - Based on research by Mr. Accident of forum.starmen.net documenting the EarthBound battle background system, and gjtorikian's JavaScript implementation.
- slime - Ported from zspotter's slime_dish implementation. Based on Sage Jenson's physarum work and Jones 2010.
MIT