Skip to content

Terminal Screensaver

A Rust crate and binary that turns any terminal into a configurable, scriptable visual canvas.


Signal

Project Signal

  • Status: Actively developed (taking a brief detour - 12/21/2025, but will come back to this.)
  • Focus: Dynamic, plugin-ready terminal visuals
  • Stack: Rust, Crossterm, TOML configs
  • Ideal For: Developers who want ambient motion or keyboard-triggered scripts inside the terminal

Onboarding Checklist

  1. Clone the repo and build the binary: cargo build --release.
  2. Copy demo-config.toml (or create your own) and point the binary to it: ./target/release/terminal-screensaver -c demo-config.toml.
  3. Customize actions or themes by editing the TOML ([[actions]], keyboard mappings, colors) and reloading the app.

Highlights

  • Auto-resizing renderer adapts to any terminal size and keeps animations buttery smooth.
  • Plugin/action system triggers shell scripts or commands via single-key shortcuts.
  • Works as both a binary and a reusable crate, so you can embed it in your own Rust apps.
  • Built-in help overlay documents every configured shortcut while the screensaver runs.

Core Scenarios

  • Ambient dashboards: Display branded visuals or subtle motion during pair-programming sessions.
  • Productivity launchpad: Bind keys to scripts that open projects, run tests, or kick off builds.
  • Crate embedding: Pull the library into other Rust tools to reuse the animation + input engine.

Documentation Map

  • Quick Start


    Installation, demo config, and launch instructions.

    Open Guide

  • Configuration


    TOML schema, actions, theming, and keyboard mappings.

    View Docs

  • :material-architecture:{ .lg .middle } Architecture


    Event loop, plugin hooks, and rendering pipeline.

    Read Notes