Spotify Screensaver Manual
spotify-screensaver is an elegant, resource-friendly desktop screensaver featuring a live OLED clock, Spotify metadata, audio spectrum visualization (live capture on supported Linux systems), and an inactivity daemon for Linux and Windows. The software is under development.
Highlights in v1.4: 64-band FFT when audio capture is available on Linux; Windows and unavailable audio inputs use a synthetic spectrum, adaptive cover color palette extraction, advertisement handling, and circular visualizer mode.
Architecture & MPRIS D-Bus
On Linux, the application queries MPRIS-compatible players through playerctl. The playerctl program must be available:
- Local discovery: No Spotify developer account is needed for MPRIS playback information.
- Playback state: Track, playback, and position are polled via
playerctl; this is not a direct D-Bus signal subscription. - Standby: When playback is paused or unavailable, the screen switches to a quiet clock view.
Audio Spectrum & Visualizer
Bars Mode
48 discrete frequency bars with physical peak-hold drops and smooth gradients.
Wave Mode
Flowing oscilloscope wave with soft ambient neon glow and tunable sensitivity.
Circular Mode
360° radial frequency spectrum surrounding album art with pulsing bass accents.
Mirrored Mode
Mirrored dual columns radiating symmetrically outwards from the center.
Installation & Operating Modes
Download and run
# Linux x86_64
tar -xzf spotify-screensaver-*-linux.tar.gz
./spotify-screensaver
# Fullscreen screensaver mode
./spotify-screensaver -fullscreen
# Browser mode
./spotify-screensaver -browser
# Start after five minutes of inactivity
./spotify-screensaver --idle-timeout=300Keyboard Shortcuts
| Key | Action |
|---|---|
Space | Play / Pause |
→ / ← | Next / Previous Track |
↑ / ↓ | Volume +/- 5% |
F or F11 | Toggle Fullscreen |
ESC | Exit / Close Settings |
Security & Troubleshooting
The integrated web server binds to 127.0.0.1:43210 by default with anti-DNS-rebinding and CSRF mitigation. OAuth tokens are secured via AES-256-GCM and PBKDF2 (100,000 rounds).
Troubleshooting: WebKitGTK Linux Performance
If encountering rendering lags on specific GPU drivers, launch with:
WEBKIT_DISABLE_DMABUF_RENDERER=1 ./spotify-screensaver