File tree Expand file tree Collapse file tree 5 files changed +63
-5
lines changed
Expand file tree Collapse file tree 5 files changed +63
-5
lines changed Original file line number Diff line number Diff line change 1+ # Bash Screensavers
2+
3+ The Bash Screensavers project is a collection of fun screensavers written entirely in Bash.
4+
5+ # Project Overview
6+
7+ * ` ./screensaver.sh ` is the main menu script
8+ * it shows a list of available screensavers and prompts user to pick one to run.
9+ * ` ./gallery ` is the gallery directory
10+ * this is where all screensavers are stored.
11+ * Each screensaver has its own directory inside ` ./gallery `
12+ * The name of the directory is the name of the screensaver.
13+ * example: ` ./gallery/alpha `
14+ * Each screensaver must have a run script in format 'name.sh'
15+ * example: ` ./gallery/alpha/alpha.sh `
16+ * ` ./tests ` directory is the BATS test suite for this project
17+ * ` ./.github ` directory is for GitHub Workflows for this project.
18+
19+ # Project Structure
20+
21+ ```
22+ .
23+ ├─ screensaver.sh
24+ ├─ AGENTS.md
25+ ├─ LICENSE
26+ ├─ README.md
27+ ├─ gallery
28+ │ ├─ alpha
29+ │ │ └─ alpha.sh
30+ │ ├─ bouncing
31+ │ │ └─ bouncing.sh
32+ │ ├─ cutesaver
33+ │ │ ├─ cutesaver.sh
34+ │ │ ├─ rollthecute.sh
35+ │ │ ├─ LICENSE
36+ │ │ ├─ readme.md
37+ │ │ └─ art
38+ │ ├─ fireworks
39+ │ │ └─ fireworks.sh
40+ │ ├─ matrix
41+ │ │ └─ matrix.sh
42+ │ ├─ pipes
43+ │ │ └─ pipes.sh
44+ │ ├─ rain
45+ │ │ └─ rain.sh
46+ │ ├─ stars
47+ │ │ └─ stars.sh
48+ │ └─ tunnel
49+ │ └─ tunnel.sh
50+ ├─ tests
51+ │ └─ test_screensaver.sh
52+ └─ .github
53+ └─ workflows
54+ └─ create.release.for.tag.yml
55+ ```
56+
57+ # Requirements
58+
59+ * Bash v3.2 or higher
60+ * All screensavers must gracefully handle ^C to clean up the terminal and exit
61+ * All shell scripts must have execute permission (chmod +x * .sh)
Original file line number Diff line number Diff line change 11#! /usr/bin/env bash
22#
3- # Bash Screensaver Chooser
3+ # Bash Screensavers
44#
55# A collection of screensavers written in bash.
66# Because who needs fancy graphics when you have ASCII?
77#
88
99BASH_SCREENSAVERS_NAME=" Bash Screensavers"
10- BASH_SCREENSAVERS_VERSION=" 0.0.2 "
10+ BASH_SCREENSAVERS_VERSION=" 0.0.3 "
1111BASH_SCREENSAVERS_URL=" https://github.com/attogram/bash-screensavers"
1212BASH_SCREENSAVERS_DISCORD=" https://discord.gg/BGQJCbYVBa"
1313BASH_SCREENSAVERS_LICENSE=" MIT"
1414BASH_SCREENSAVERS_COPYRIGHT=" Copyright (c) 2025 Attogram Project <https://github.com/attogram>"
1515
16- # Get the directory of this script
17- # https://stackoverflow.com/questions/59895/how-do-i-get-the-directory-where-a-bash-script-is-located-from-within-the-script
1816SCRIPT_DIR=$( cd -- " $( dirname -- " ${BASH_SOURCE[0]} " ) " & > /dev/null && pwd)
19-
2017BASH_SCREENSAVERS_DIR=" $SCRIPT_DIR /gallery"
2118
2219# Lists all available screensavers.
You can’t perform that action at this time.
0 commit comments