ShittyRandomPhotoScreenSaver (SRPSS) is a modern Windows (W10/W11) screensaver that is suprisingly less shit than the majority of ancient decrepid screensavers around today. Born from my sheer exhaustion of still using a screensaver from 2005 to do less than what this does.

Shitty Showcase where I cut off the Spotify controls in recording.
-
Random Image Slideshow
-
Local folders (recursive) as primary source
-
Optional RSS/JSON image feeds (e.g. curated Reddit wallpaper feeds)
-
Mixed mode (folders + RSS) support with ratio control
-
High‑quality scaling with optional sharpening
-
Transitions:
- Ripple
- 3D Block Spin (Actual 3D like 1998!)
- Crumble (More work than it was worth!)
- Particle (Somehow does not look shit!)
- Peel
- Warp Dissolve
- Crossfade
- Slide
- Wipe
- Diffuse
- Block Puzzle Flip
- Blinds
-
Multi‑monitor aware: same image on all screens or independent images per screen
-
-
Overlay widgets
- Clock widgets (up to three): 12h/24h, multiple time zones, analogue or digital
- Weather widget using Open‑Meteo (no API key) with location autodetect on first run
- Media widget (Spotify now‑playing) with optional controls and artwork
- Spotify beat visualizer paired with the media widget – thin GPU bar overlay with a 1‑bar idle floor and a configurable ghosting trail (opacity + decay), with an automatic software fallback on non‑GL stacks
- Reddit widget showing top posts from a configured subreddit Widget requests are welcome, the engine is robust enough to handle all sorts of your weird kinky shit.
-
Settings dialog (config mode)
- Dark, frameless UI.r
- Tabs:
- Sources – folders + RSS/JSON feeds
- Display – mode, interval, sharpen, pan & scan, monitor selection
- Transitions – transition type, duration, directions, per‑type tuning
- Widgets – clock(s), weather, media, Spotify visualizer, Reddit (You'll need to configure these to your liking! Geolocation is kinda shit.)
- Accessability - Join my crippled ass with these features! Background brightness dimming and pixel shifting because maybe you're feeling kinda weird or something.
- About – version, credits, SST-based settings Import/Export (human‑readable JSON snapshot per profile) and emergency defaults button
-
Hard‑exit mode & interaction gating
- Optional "hard‑exit" mode: mouse movement/clicks no longer exit; only keyboard, context menu or reddit links exit.
- Ctrl‑driven halo to interact with overlays (e.g. media controls, Reddit links) while the screensaver stays active.
Why? Because you can actually click those reddit links! You can actually control Spotify through its controls in the widget! I never clicked the clock or weather though, you probably shouldn't try it.
Cntrl holding gives you a temporary interaction mode that makes you able to move/see/click the mouse without exiting (but if you click a reddit link we're going to exit and take you to the comments so you can join everyone else in not reading the article/source)
Hard Exit on the other hand makes nothing except ESC/RightClick/Reddit links close the screensaver. (This is replicated in the SRPSS_MC release version) While seeming strange at first, if you have multiple monitors you can pick one or two of them, leave it running 24/7 with widgets of your choice. Your image will change reducing any burn worries aaaand you have pretty widgets.
(If you have an OLED nothing is gonna stop burn in except a black screen but you know that already)
-
Hotkeys (do not exit)
Z– Previous imageX– Next imageC– Cycle transition typeS– Open settings dialog (stops the saver, shows the config UI)
-
Exit keys (always exit)
Esc– Exit screensaverQ– Exit screensaver
-
Other keys
- Normal mode (hard‑exit OFF, Ctrl not held):
- Any other key exits the screensaver (e.g. Space, Enter, arrows, letters, numbers).
- Hard‑exit mode (hard‑exit ON) or Ctrl interaction mode:
- Non‑hotkey keys are ignored; only
Esc/Qexit andZ/X/C/Sperform their actions.
- Non‑hotkey keys are ignored; only
- Normal mode (hard‑exit OFF, Ctrl not held):
-
Mouse
- Normal mode (hard‑exit OFF):
- Move the mouse beyond a small threshold → exits the screensaver.
- Any mouse button click → exits the screensaver.
- Hard‑exit mode (hard‑exit ON):
- Mouse movement and clicks do not exit; use
EscorQto exit.
- Mouse movement and clicks do not exit; use
- Right Click Context Menu
- Right Click while holding Ctrl and a glorious context menu is born.
- Use it for quick accurate transition and settings changes.
- Normal mode (hard‑exit OFF):
-
Ctrl halo interaction
- Hold
Ctrlto show a halo/cursor proxy over the active display. - While Ctrl/halo is active, mouse clicks can interact with overlay widgets (e.g. media controls, Reddit links) without immediately exiting.
- Right Click while holding Ctrl and a glorious context menu is born.
- Hold
You can open the settings dialog in two ways:
- From Windows Screen Saver Settings, by clicking Settings... for SRPSS (see below).
- From the running screensaver itself by pressing
S.
The settings dialog lets you:
- Configure image sources (folders + RSS/JSON feeds)
- Change display mode, interval, sharpen, and refresh sync
- Choose the active transition with deep per‑type options
- Enable/disable and style each overlay widget with sliders in your sliders.
- Enable Hard Exit mode (input.hard_exit)
All changes are applied immediately and persisted between runs.
Download a version, ideally the setup version if you want it to actually work.
- Yeah that's literally it.
- Really.
Find the Configure ShittyRandomScreenSaver on your desktop or Start Menu, it will take you to Windows Screen Saver Settings, select SRPSS, configure the settings by clicking well, settings and you're set.
If you're super lazy just set it and it'll freak out on the first start asking you to configure it.
Alternative Route: On Windows 10 and Windows 11 you can reach Screen Saver Settings via either:
-
Settings route:
- Open Settings → Personalization → Lock screen.
- Scroll down and click Screen saver settings.
-
Search route:
- Press
Winand typeChange screen saver. - Click the Change screen saver control panel entry.
- Press
In the Screen Saver Settings dialog:
- Open the Screen saver dropdown.
- Select SRPSS (this is the name of the
SRPSS.scrfile). - Optionally adjust Wait time and On resume, display logon screen.
- Click Apply and OK.
-
Set your sources! Either a folder (or multiple) on your system with your wallpapers or RSS/JSON feeds or....both, yeah, both actually works.
-
If you are exceptionally lazy about your sources just click the "Just Make It Work" button at the bottom of the sources tab. It will just work.
-
Clock does a decent job figuring out your timezone, you can have multiple timezones and up to 3 clocks, optionally digital or analogue and with different regions per display.
-
Weather does a really bad job of figuring out where you are but has awesome autocomplete so just start typing your City name and click the suggestion.
-
Reddit can be set to any subreddit you want.
-
Pro tip, don't set widgets to appear at the same location on the same screen. By default they don't.
Version information is centralised in versioning.py and used by both runtime and build tooling and Inno installer is used for this to actually fucking work.
- Application name:
ShittyRandomPhotoScreenSaver - Executable name:
SRPSS - Version string:
APP_VERSION
- Weather icons: Basmilius Weather Icons – Line
This README focuses on wasting your time.