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.
Quick Links
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
:
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.