A general-purpose command-line fuzzy finder that filters any list of input and turns shell scripts into interactive terminal selectors.
attogram/bash-screensavers
A collection of terminal screensavers written entirely in Bash, using echo, sleep and tput for animated ASCII art.
- Stars
- 958
- Forks
- 21
- Open issues
- 11
- Last commit
- 3 months ago
What is it?
Bash Screensavers is a set of animated screensavers that run directly in a terminal. Each one is a plain Bash script, so there are no graphics libraries or external runtimes to install. Effects include matrix-style falling characters, pipes, rain, starfields, fireworks, cellular automata and a digital tunnel.
Running ./screensaver.sh opens a numbered menu, and you can start a specific effect by name or number, or pick one at random with -r. Each screensaver can also be launched directly from its own folder under gallery/. The project targets Bash 3.2 and above.
The repository is organized into a gallery of finished screensavers, a Not Ready For Primetime area for experimental ones, and supporting tools for previews and testing.
Key features
- 01Runs in any terminal with Bash 3.2 or newer, using only echo, sleep and tput.
- 02Offers a numbered menu, plus options to launch by name, number or at random.
- 03Includes about a dozen effects such as matrix, pipes, rain, fireworks and starfield.
- 04Each screensaver can be run directly from its own script.
Use cases
- Adding animated visuals to an idle terminal session.
- Learning terminal drawing techniques with tput in plain Bash.
- Demonstrating what can be built with shell scripting alone.
Quick start
- 1
Clone the repository
git clone https://github.com/attogram/bash-screensavers.git - 2
Enter the project directory
cd bash-screensavers - 3
Start the screensaver menu
./screensaver.sh
Things to know
- Requires a Bash shell and a terminal, so it is not a graphical screensaver.
Topics
FAQ
- What is bash-screensavers?
- A collection of terminal screensavers written entirely in Bash, using echo, sleep and tput for animated ASCII art. Bash Screensavers is a set of animated screensavers that run directly in a terminal. Each one is a plain Bash script, so there are no graphics libraries or external runtimes to install. Effects include matrix-style falling characters, pipes, rain, starfields, fireworks, cellular automata and a digital tunnel.
- Is bash-screensavers free to use? What license does it have?
- bash-screensavers is open source under the MIT license. Check the license terms before using it in commercial products.
- Is bash-screensavers still maintained?
- Updated within 6 months. The last commit to bash-screensavers was on Jul 23, 2026.
- What can I use bash-screensavers for?
- Adding animated visuals to an idle terminal session. Learning terminal drawing techniques with tput in plain Bash. Demonstrating what can be built with shell scripting alone.
- How do I install bash-screensavers?
- Clone the repository: git clone https://github.com/attogram/bash-screensavers.git Enter the project directory: cd bash-screensavers Start the screensaver menu: ./screensaver.sh
- Where can I get bash-screensavers?
- The source code and installation instructions are on GitHub: https://github.com/attogram/bash-screensavers
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Warp is an agentic development environment built out of the terminal, with a built-in coding agent or support for your own CLI agents.
A minimal, customizable cross-shell prompt written in Rust that shows relevant project and environment info.
A terminal weather app written in Rust that shows real-time conditions as ASCII animations like rain, snow and thunderstorms.
A terminal screensaver written in Go that starts when your shell is idle, showing animated scenes like constellations, rain, and particles.
Single-file Bash TUI for listing, starting, stopping, snapshotting and monitoring Proxmox VE virtual machines and containers.