Skip to content

Terminal Screensaver

A dynamic terminal screen saver crate with plugin architecture that automatically resizes with any screen size.

Overview

Terminal Screensaver is a high-performance Rust application that provides beautiful, customizable screensavers for your terminal. With its plugin architecture and script integration capabilities, it's both a screensaver and a productivity tool.

Key Features

  • Dynamic Sizing: Automatically adapts to any terminal size
  • Script Integration: Execute any script or command with custom keyboard shortcuts
  • Plugin Architecture: Extensible event handling for custom actions
  • TOML Configuration: Easy customization without code changes
  • Cross-platform: Works on Windows, Linux, and macOS
  • Library & Binary: Use as a library or standalone application
  • Interactive Help Display: Built-in help panel with keyboard shortcuts
  • Customizable Themes: Multiple theme options

Installation

From Source

# Clone and build
git clone https://github.com/BA-CalderonMorales/terminal-screensaver.git
cd terminal-screensaver
cargo build --release

# Run with demo configuration
./target/release/terminal-screensaver -c demo-config.toml

As a Library

Add to your Cargo.toml:

[dependencies]
terminal-screensaver = "0.1.0"

Configuration

Basic configuration example:

text = "My Terminal Screensaver"
style = "default"

[[actions]]
key = "h"
description = "Say Hello"
command = "./scripts/hello.sh"

Controls

Key Action
ESC Exit screensaver
ENTER Show action menu
a-z, 0-9, symbols Execute configured actions

Project Status

  • Status: Actively developed
  • License: MIT
  • Language: Rust

Documentation

For comprehensive documentation, visit the GitHub repository.

Key documentation files: - Architecture - Features Guide - Configuration Guide - Controls & Keyboard Shortcuts - Quick Start Guide - Testing Guide - CI/CD

Contributing

All contributions are welcome! Check the repository for contribution guidelines.