aboutsummaryrefslogtreecommitdiffstats
path: root/desktop
diff options
context:
space:
mode:
authorDanilo M. <danix@danix.xyz>2026-10-16 21:14:47 +0200
committerDanilo M. <danix@danix.xyz>2026-10-16 21:14:47 +0200
commit4513a506fc575f880db80f05bb3a9cdf7dc100e0 (patch)
tree2defba1daeabb6f64d0ee4217b026c1fbd53aa0b /desktop
parent255733d3d3d6db4714f64edc1557c7f05fe43fcb (diff)
downloadquickshell-4513a506fc575f880db80f05bb3a9cdf7dc100e0.tar.gz
quickshell-4513a506fc575f880db80f05bb3a9cdf7dc100e0.zip
narrow the sound module's real player list
Diffstat (limited to 'desktop')
-rw-r--r--desktop/modules/sound/Player.qml10
1 files changed, 9 insertions, 1 deletions
diff --git a/desktop/modules/sound/Player.qml b/desktop/modules/sound/Player.qml
index fab8083..e32a1b9 100644
--- a/desktop/modules/sound/Player.qml
+++ b/desktop/modules/sound/Player.qml
@@ -31,7 +31,15 @@ Singleton {
readonly property var proxyNames: [".playerctld", ".plasma-browser-integration"]
readonly property var real:
- Mpris.players.values.filter(p => !root.proxyNames.some(n => p.dbusName.endsWith(n)))
+ Mpris.players.values.filter(p => !root.proxyNames.some(n => p.dbusName.endsWith(n))
+ // A page can hold a silent MPRIS session that is
+ // not a track: WhatsApp Web sits paused forever with
+ // the tab title as `xesam:title` and nothing else.
+ // Paused with no artist and no length is that shape;
+ // a real paused track keeps its length (and usually
+ // its artist), so it survives.
+ && !(p.playbackState === MprisPlaybackState.Paused
+ && !p.lengthSupported && !p.trackArtist))
// Prefer something actually playing; otherwise keep the last one seen, so
// pausing does not make the track row vanish mid-look.