GoL Screensaver is an app that generates and updates screensavers for Onyx Boox using Conway's Game of Life algorithm. Optimized for e-ink screens!
-
Auto-updating screensaver based on Conway's Game of Life
- Note that wallpaper will not update while the screen is locked, only on the next unlock -> lock.
-
Customizable foreground and background colors (chosen specifically for color e-ink)
-
Pattern picker for common Game of Life starting states
-
Install the app on your Android device from F-Droid, the Releases Section, or by building from source.
-
⚠️ Disable freezing in order to for the game to self-update- Settings > Apps & Notifications > Freeze Settings > GoL Wallpaper (OFF)
- Note: Updates happen at most every 15 minutes and only with sufficient battery
-
Launch the app:
- (Optional) Choose foreground and background colors in the app
- (Optional) Pick a starting pattern
- (Optional) Tap "Generate Next Step" to advance the Game of Life and update your wallpaper
Pull requests and feature requests / bug reports are welcome!
This project uses Kotlin and Jetpack Compose with no 3rd party dependencies and is checked by detekt with hbmartin's rules.
- Fork the repository and
git clone
- Create a new branch
git checkout -b cool-feature-name
- Open in Android Studio, sync Gradle, and start hacking!
- Ensure checks are passing by running
./gradlew detektMain
- Commit your changes
git commit -am 'Description of what changed'
- Push to the branch
git push origin head
- Create a new Pull Request
app/src/main/java/me/haroldmartin/golwallpaper/
– Main source codedomain/
– Game of Life logic and patternsui/
– Jetpack Compose UI componentsutils/
– Utility functions (saving wallpaper, color picking, etc.)
- Harold Martin - harold.martin at gmail dot com
- Triangle disclosure icon from Compose Icons / Lucide
- Inspiration from WanderWall by fmeyer
MIT License with addendum: it's legally required for you to do at least one of have fun with this or report an issue explaining why not, no takesies backsies.