✨ 🤖 D-Bus-Service + Trackwechsel-Notification + Mittelklick-Toggle #4

Closed
opened 2026-08-24 13:42:22 +02:00 by holm · 1 comment
Owner
Dimension Bewertung Einschätzung
Aufwand ███░░░░░░░ Niedrig-mittel — dbus-native + Media-Session-Auslesen
Nutzen █████████░ Sehr hoch — macht playzen fuer andere Tools (conky, radiotray-ytmusic-artig) sichtbar
Bruchhäufigkeit ██░░░░░░░░ Niedrig — Media-Session-API ist Web-Standard, ABS pflegt sie
Nachhaltigkeit ████████░░ Hoch — gleiches Feldschema wie radiotray-ng, keine Sonderlocke
Dringlichkeit ███████░░░ Hoch — direkter Holm-Auftrag

Auftrag (Holm, 2026-08-24)

  1. Mittelklick auf Tray-Icon toggelt Play/Pause.
  2. Playzens Spielstand soll dort erscheinen, wo aktuell radiotray-ng in conky-top steht.
  3. Radiotray-ytmusic fragt radiotray-ng per D-Bus (get_player_state) ab, um den laufenden Track bei YouTube zu suchen -- dasselbe soll playzen fuer den (kuenftigen) Radiobetrieb bereitstellen.
  4. Trackwechsel sollen notifiziert werden, wie bei radiotray-ng.

Was gebaut wurde

  • Mittelklick: tray.on('middle-click', togglePlayback).
  • D-Bus-Service network.mueller.playzen (/network/mueller/playzen, Methode get_player_state) -- bewusst dasselbe JSON-Feldschema wie radiotray-ngs com.github.radiotray_ng (state/title/artist/station), damit bestehende Konsumenten (conky, radiotray-ytmusic-artige Tools) playzen genauso abfragen koennen wie radiotray-ng. Quelle der Metadaten: navigator.mediaSession.metadata (Web-Standard, ABS pflegt Titel/Autor/Album dort fuer OS-Medientasten), Fallback document.title.
  • Notification bei Trackwechsel: electron.Notification, feuert wenn state==='playing' UND sich title seit dem letzten Poll (alle 3s) geaendert hat -- nicht bei jedem Play/Pause-Toggle. Mit Holm live verifiziert: Notification kam beim Trackwechsel, blieb beim reinen Pause/Play-Toggle aus (korrektes Verhalten).
  • Tray-Kontextmenue zeigt jetzt den echten Play/Pause-Zustand im Label, alle 3s aktualisiert.

Konsequenz fuer conky-dotfiles

bin/conky_nowplaying.sh erweitert, um zusaetzlich playzen abzufragen (radiotray-ng hat Vorrang) -- siehe holm.dotfiles.secret/conky-dotfiles#8 (geschlossen).

Noch offen

Punkt 3 (Radiobetrieb) greift erst, sobald playzen tatsaechlich Radio-Streams abspielt -- das ist noch nicht gebaut (separates Thema, radiotray-ngs bookmarks.json als Senderliste wiederverwenden ist der naheliegende Weg). Das D-Bus-Schema ist aber schon jetzt kompatibel vorbereitet.

Was in diesem Commit liegt

  • main.js (D-Bus-Service, Notification, Mittelklick, konsolidiertes Polling)
  • package.json/package-lock.json (dbus-native-Abhaengigkeit)

🤖 angelegt von Claude v00 (API/Token holm)

| Dimension | Bewertung | Einschätzung | |---|---|---| | Aufwand | `███░░░░░░░` | Niedrig-mittel — dbus-native + Media-Session-Auslesen | | Nutzen | `█████████░` | Sehr hoch — macht playzen fuer andere Tools (conky, radiotray-ytmusic-artig) sichtbar | | Bruchhäufigkeit | `██░░░░░░░░` | Niedrig — Media-Session-API ist Web-Standard, ABS pflegt sie | | Nachhaltigkeit | `████████░░` | Hoch — gleiches Feldschema wie radiotray-ng, keine Sonderlocke | | Dringlichkeit | `███████░░░` | Hoch — direkter Holm-Auftrag | ## Auftrag (Holm, 2026-08-24) 1. Mittelklick auf Tray-Icon toggelt Play/Pause. 2. Playzens Spielstand soll dort erscheinen, wo aktuell radiotray-ng in conky-top steht. 3. Radiotray-ytmusic fragt radiotray-ng per D-Bus (`get_player_state`) ab, um den laufenden Track bei YouTube zu suchen -- dasselbe soll playzen fuer den (kuenftigen) Radiobetrieb bereitstellen. 4. Trackwechsel sollen notifiziert werden, wie bei radiotray-ng. ## Was gebaut wurde - **Mittelklick**: `tray.on('middle-click', togglePlayback)`. - **D-Bus-Service** `network.mueller.playzen` (`/network/mueller/playzen`, Methode `get_player_state`) -- bewusst dasselbe JSON-Feldschema wie radiotray-ngs `com.github.radiotray_ng` (`state`/`title`/`artist`/`station`), damit bestehende Konsumenten (conky, radiotray-ytmusic-artige Tools) playzen genauso abfragen koennen wie radiotray-ng. Quelle der Metadaten: `navigator.mediaSession.metadata` (Web-Standard, ABS pflegt Titel/Autor/Album dort fuer OS-Medientasten), Fallback `document.title`. - **Notification bei Trackwechsel**: `electron.Notification`, feuert wenn `state==='playing'` UND sich `title` seit dem letzten Poll (alle 3s) geaendert hat -- nicht bei jedem Play/Pause-Toggle. Mit Holm live verifiziert: Notification kam beim Trackwechsel, blieb beim reinen Pause/Play-Toggle aus (korrektes Verhalten). - Tray-Kontextmenue zeigt jetzt den echten Play/Pause-Zustand im Label, alle 3s aktualisiert. ## Konsequenz fuer conky-dotfiles `bin/conky_nowplaying.sh` erweitert, um zusaetzlich playzen abzufragen (radiotray-ng hat Vorrang) -- siehe [holm.dotfiles.secret/conky-dotfiles#8](https://forgejo.mueller.network/holm.dotfiles.secret/conky-dotfiles/issues/8) (geschlossen). ## Noch offen Punkt 3 (Radiobetrieb) greift erst, sobald playzen tatsaechlich Radio-Streams abspielt -- das ist noch nicht gebaut (separates Thema, radiotray-ngs `bookmarks.json` als Senderliste wiederverwenden ist der naheliegende Weg). Das D-Bus-Schema ist aber schon jetzt kompatibel vorbereitet. ## Was in diesem Commit liegt - `main.js` (D-Bus-Service, Notification, Mittelklick, konsolidiertes Polling) - `package.json`/`package-lock.json` (`dbus-native`-Abhaengigkeit) > 🤖 angelegt von Claude v00 (API/Token holm)
Author
Owner

Erledigt — Commit 33c2c09 auf dev gepusht.

Beleg: gdbus call gegen network.mueller.playzen lieferte live {"state":"playing","title":"Folge 5","artist":"Ivar Leon Menger","station":"Ghostbox #1.05"}. Holm bestaetigt: Notification kam beim Trackwechsel, blieb beim Play/Pause-Toggle aus. conky-Anbindung siehe holm.dotfiles.secret/conky-dotfiles#8.

🤖 Kommentar von Claude v00 (API/Token holm)

**Erledigt** — Commit [`33c2c09`](https://forgejo.mueller.network/holm.tools.public/playzen/commit/33c2c0905c4e7f1f35d567cc7068f33ef23da15b) auf `dev` gepusht. Beleg: `gdbus call` gegen `network.mueller.playzen` lieferte live `{"state":"playing","title":"Folge 5","artist":"Ivar Leon Menger","station":"Ghostbox #1.05"}`. Holm bestaetigt: Notification kam beim Trackwechsel, blieb beim Play/Pause-Toggle aus. conky-Anbindung siehe [holm.dotfiles.secret/conky-dotfiles#8](https://forgejo.mueller.network/holm.dotfiles.secret/conky-dotfiles/issues/8). > 🤖 Kommentar von Claude v00 (API/Token holm)
holm closed this issue 2026-08-24 13:42:56 +02:00
Sign in to join this conversation.
No description provided.