diff options
| author | Danilo M. <danix@danix.xyz> | 2026-10-16 21:14:47 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-10-16 21:14:47 +0200 |
| commit | 4513a506fc575f880db80f05bb3a9cdf7dc100e0 (patch) | |
| tree | 2defba1daeabb6f64d0ee4217b026c1fbd53aa0b /desktop/modules/sound | |
| parent | 255733d3d3d6db4714f64edc1557c7f05fe43fcb (diff) | |
| download | quickshell-4513a506fc575f880db80f05bb3a9cdf7dc100e0.tar.gz quickshell-4513a506fc575f880db80f05bb3a9cdf7dc100e0.zip | |
narrow the sound module's real player list
Diffstat (limited to 'desktop/modules/sound')
| -rw-r--r-- | desktop/modules/sound/Player.qml | 10 |
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. |
