📖 Offizielles spotify-screensaver Wiki

Willkommen im offiziellen Wiki für spotify-screensaver – der elegante, ressourcenschonende Desktop-Bildschirmschoner mit scharfer Digitaluhr, Live-Spotify-Metadaten, intelligenter Werbeerkennung, redundanzfreiem Clean-Cover-Layout, 60 FPS Canvas Audio-Visualizer und nativer Steuerung für Linux und Windows.

🚧 Pre-Release Status (Work in Progress): spotify-screensaver befindet sich in aktiver Entwicklung und ist noch nicht final fertiggestellt. Alle Versionen und Builds sind Pre-Releases.

💡 100% Local-First & Zero-AI: Diese Anwendung läuft komplett autonom auf deinem Rechner. Keine Cloud-Telemetry, keine externen KI-Aufrufe, keine Tracker. Deine Musik, deine Daten, deine Privatsphäre.

1. Einführung

Wer am Arbeitsplatz Musik hört, möchte oft eine ästhetische, ablenkungsfreie Anzeige: die Uhrzeit groß im Blick, das Cover und der Songtitel des aktuell spielenden Titels, und die Möglichkeit, Songs ohne Fensterwechsel zu überspringen.

spotify-screensaver löst dies als native Desktop-Anwendung in reiner Go-Architektur mit extrem geringer CPU- und RAM-Last:

2. Architektur & MPRIS D-Bus

Die Anwendung besteht aus einem leichtgewichtigen Go-Core und einem eingebetteten Canvas-Frontend:

+-------------------------------------------------------------+
|                      spotify-screensaver                    |
|                                                             |
|   +-------------------+              +------------------+   |
|   |  Native GUI Layer |              |  Go HTTP Server  |   |
|   |  (WebKitGTK /     |<--- fetch ---|  (127.0.0.1:     |   |
|   |   Chrome App)     |--- Actions ->|   43210)         |   |
|   +-------------------+              +--------+---------+   |
|                                               |             |
|                                       +-------v---------+   |
|                                       | Linux MPRIS     |   |
|                                       | D-Bus Engine    |   |
|                                       | (org.mpris.     |   |
|                                       |  MediaPlayer2)  |   |
|                                       +-----------------+   |
+-------------------------------------------------------------+

Unter Linux kommuniziert der Daemon über den Session-Bus direkt mit org.mpris.MediaPlayer2.spotify. Titel, Interpret, Album, Cover-URL, Songposition und Status werden ohne Polling-Verzögerung synchronisiert.

3. Installation & Setup

spotify-screensaver wird als statische Single-Binary für Linux (x86_64) und Windows (x86_64) ausgeliefert.

Option A: Installation via Go (Empfohlen)

go install github.com/benzjeremy/spotify-screensaver@latest
spotify-screensaver

Option B: Vorkompilierte Binaries

Die offiziellen Release-Archive stehen auf GitHub unter Releases (Latest) zum Download bereit:

Linux (x86_64):

tar -xzf spotify-screensaver-v1.4-linux.tar.gz
sudo cp spotify-screensaver /usr/local/bin/spotify-screensaver
spotify-screensaver

Windows (x86_64):

Archiv spotify-screensaver-v1.4-windows.zip entpacken und spotify-screensaver.exe starten.

4. Screensaver-Funktionen

5. Audio-Visualizer & Themes

Der integrierte HTML5 Canvas Visualizer läuft mit nativer 2D-Hardwarebeschleunigung und bietet 3 verschiedene Darstellungsmodi:

4 Dynamische Themes

Über das Einstellungs-Icon (Zahnrad oben rechts) kann die Akzentfarbe jederzeit gewechselt werden:

6. Tastaturkürzel

Leertaste (Space)  -> Wiedergabe pausieren / fortsetzen
Pfeil rechts (->)  -> Nächster Titel (Next Track)
Pfeil links (<-)   -> Vorheriger Titel (Previous Track)
Pfeil oben (^)     -> Lautstärke +5%
Pfeil unten (v)    -> Lautstärke -5%
Taste F / F11      -> Vollbildmodus umschalten (Fullscreen Toggle)
Taste Escape (ESC) -> Einstellungsfenster / Screensaver schließen

7. Lokale REST-API

Der interne HTTP-Server lauscht ausschließlich auf 127.0.0.1:43210 und stellt folgende Endpunkte bereit:

GET  /api/status      -> Liefert aktuellen Track, Position, Dauer und Cover-URL
POST /api/playpause   -> Schaltet Play/Pause um
POST /api/next        -> Springt zum nächsten Song
POST /api/previous    -> Springt zum vorherigen Song
POST /api/seek        -> Springt im Song (Body: {"seconds": 120})
POST /api/volume      -> Ändert Lautstärke (Body: {"delta": 5})
GET  /api/config      -> Liest gespeicherte Display- und Theme-Optionen
POST /api/config      -> Speichert Einstellungen (JSON)

8. Sicherheit & Krypto

Nach Jeremys strikten Architekturstandards bindet sich der interne Webserver niemals an externe Schnittstellen:

9. Troubleshooting & Performance

Problem: Hohe CPU-Auslastung auf Linux-Laptops

In Version v1.2 wurde der bekannte WebKitGTK DMABUF-Compositor-Bug durch Setzen von WEBKIT_DISABLE_DMABUF_RENDERER=1 und WEBKIT_FORCE_COMPOSITING_MODE=1 vollständig behoben. Gleichzeitig wurden alle schweren CSS-Blur-Filter entfernt.

Falls du eine ältere Version nutzt, aktualisiere umgehend auf v1.2:

go install github.com/benzjeremy/spotify-screensaver@v1.2

Problem: Spotify MPRIS wird nicht erkannt

Prüfe, ob Spotify auf deinem Linux-System läuft und D-Bus aktiviert ist:

playerctl -l
# Ausgabe sollte 'spotify' oder 'spotify_player' enthalten