aboutsummaryrefslogtreecommitdiffstats
path: root/volume-osd
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-09-12 11:29:28 +0200
committerDanilo M. <danix@danix.xyz>2026-09-12 11:29:28 +0200
commit3b6043ebc34974f5e71715a55582b58ca7c3edf0 (patch)
tree63bff9309f881d9e4d0b21e05e025786cbcbc174 /volume-osd
parentccbe67dea24629e9b5a268da05cc31424c2e80e2 (diff)
downloadquickshell-3b6043ebc34974f5e71715a55582b58ca7c3edf0.tar.gz
quickshell-3b6043ebc34974f5e71715a55582b58ca7c3edf0.zip
docs(volume-osd): Feishin as the reference player, and the plasma filter confirmed
Feishin fills the MPRIS metadata in the way the spec intends: a real mpris:artUrl, xesam:artist, and a clean xesam:title. That makes it the useful case to test against, and it shows the missing cover under Firefox is a browser and Navidrome-web limitation rather than anything this component does wrong. It is also the first player whose art is a remote HTTP URL instead of a local file, so the cover now depends on reaching the Navidrome host. It also settles the open question from the previous commit. Playing from the same server, Feishin publishes only its own bus name and playerctld, with no plasma-browser-integration entry, so that proxy is browser-only and filtering it costs a native player nothing. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TvHeJEXJzdfAaCCYqURAWp
Diffstat (limited to 'volume-osd')
-rw-r--r--volume-osd/Player.qml4
-rw-r--r--volume-osd/README.md24
2 files changed, 20 insertions, 8 deletions
diff --git a/volume-osd/Player.qml b/volume-osd/Player.qml
index 7c17c0a..fab8083 100644
--- a/volume-osd/Player.qml
+++ b/volume-osd/Player.qml
@@ -25,7 +25,9 @@ Singleton {
// playerctld. Both proxies are skipped and the OSD talks to the browser's
// own entry, which is safe because none of the three exists until playback
// starts, and the browser's entry appeared whenever the plasma one did. An
- // open but silent tab publishes nothing, so there is no row to lose.
+ // open but silent tab publishes nothing, so there is no row to lose. The
+ // plasma name is browser-only: Feishin on the same server publishes just
+ // its own entry and playerctld, so a native player loses nothing here.
readonly property var proxyNames: [".playerctld", ".plasma-browser-integration"]
readonly property var real:
diff --git a/volume-osd/README.md b/volume-osd/README.md
index 83a9495..cce2ace 100644
--- a/volume-osd/README.md
+++ b/volume-osd/README.md
@@ -40,19 +40,29 @@ active and republishes it under `org.mpris.MediaPlayer2.playerctld`. With a
browser, plasma-browser-integration does the same, so one Navidrome tab was
live on three bus names at once. `Player.qml` drops both proxies and talks to
the browser's own entry. None of the three exists until playback starts, and
-an open but silent tab publishes nothing at all.
+an open but silent tab publishes nothing at all. The plasma name is a browser
+thing only: Feishin, playing from the same server, publishes just its own
+entry and playerctld, so dropping it costs a native player nothing.
**Album art can be a reused temp path.** Audacious extracts embedded art to a
file in its cache and rewrites that same path on each track, so the URL repeats
while the image behind it changes. The source carries the track title as a
cache buster and `cache: false`, or the previous track's cover stays on screen.
-Verified against audacious and Firefox playing Navidrome. Browsers do not
-fill in everything: Navidrome sets no `mpris:artUrl`, so there is no cover to
-show and the row renders without one, and it packs everything into
-`xesam:title` ("Roxanne - The Police - Navidrome") leaving `xesam:artist`
-empty. Neither is worked around, a title like that cannot be split back apart
-without guessing where a real dash ends. Signal is untested.
+Verified against audacious, Feishin, and Firefox playing Navidrome. Feishin is
+the reference case, the only player here that fills the metadata in properly:
+a real `mpris:artUrl`, `xesam:artist`, and a clean `xesam:title`. It is also
+the only one whose art is a remote HTTP URL rather than a local file, so the
+cover depends on reaching the Navidrome host.
+
+The same server through Firefox gives much less, which is a browser limit and
+not something this component can fix. Navidrome's web player sets no
+`mpris:artUrl` at all, so the row renders with no cover, and it packs
+everything into `xesam:title` ("Roxanne - The Police - Navidrome") leaving
+`xesam:artist` empty. Neither is worked around, a title like that cannot be
+split back apart without guessing where a real dash ends.
+
+Signal is untested.
## No keybinds to change