mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-06-07 19:59:14 -04:00
8a4be4936a
* fix(Mpris): exclude idle players from active-player selection Add MprisController.isIdle() (player Stopped with empty title and artist). _resolveActivePlayer excludes idle players from every selection path, and re-resolves when the active player itself goes idle. Existing triggers (availablePlayers change, isPlaying becoming true) do not fire for a player merely stopping. The fallback now gates on !isIdle(p) instead of p.canPlay. canPlay describes whether Play() would succeed; !isIdle describes whether there is anything to surface. canControl unchanged. When no eligible player remains, activePlayer becomes null and consumers that gate on it unload (the bar media widget via WidgetHost; the dash via the companion fix). * fix(DankDash): show no-player state when active player resolves to null showNoPlayerNow gated on _noneAvailable (player count === 0) or activePlayer being idle. Neither covers activePlayer being null while players remain registered, which is now possible (an always-on player sitting stopped with empty metadata). Key showNoPlayerNow on !activePlayer; drop the unreachable _trulyIdle. * add(MprisController): add track artist change handling to active player resolution ---------