mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-08-05 13:08:29 -04:00
fix(mpris): remove required non-null artist/title from idle condition (#2993)
The current isIdle detection only works if the player has a title _and_ artist metadata, which is not appropriate for all cases, e.g. MPV playing a video does not set artist. In the current implementation, after a video stops playing in MPV, and the window closes (but MPV and the MPRIS plugin server is still running as a background process), the playback controls remain shown on the bar, and have non-functional controls. It is sufficient to only check for the "Stopped" playing state. The MPRIS specification states that Playback_Status==Stopped should be used to indicate that *NO* track is currently playing. A compliant player should set that, and should also set the CanPlay/CanPause boolean to false is not track is being played. See: https://specifications.freedesktop.org/mpris/latest/Player_Interface.html#Enum:Playback_Status
This commit is contained in:
@@ -168,7 +168,7 @@ Singleton {
|
||||
}
|
||||
|
||||
function isIdle(player: MprisPlayer): bool {
|
||||
return player && player.playbackState === MprisPlaybackState.Stopped && !player.trackTitle && !player.trackArtist;
|
||||
return player && player.playbackState === MprisPlaybackState.Stopped;
|
||||
}
|
||||
|
||||
// Known "<title> | <App>" suffixes stripped for matching only; display keeps the full title
|
||||
|
||||
Reference in New Issue
Block a user