diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-09-23 23:18:12 +1000 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-09-23 23:18:12 +1000 |
| commit | d79b5b7f716dbb7908b29fe80a883261d834d576 (patch) | |
| tree | d3dfef7e44c1fb883811727d17aa143de1c5356b /services | |
| parent | dashboard/media: improve ui (diff) | |
| download | caelestia-shell-d79b5b7f716dbb7908b29fe80a883261d834d576.tar.gz caelestia-shell-d79b5b7f716dbb7908b29fe80a883261d834d576.tar.bz2 caelestia-shell-d79b5b7f716dbb7908b29fe80a883261d834d576.zip | |
players: persist active player across reloads
Diffstat (limited to 'services')
| -rw-r--r-- | services/Players.qml | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/services/Players.qml b/services/Players.qml index 27249af..22aab3f 100644 --- a/services/Players.qml +++ b/services/Players.qml @@ -10,14 +10,22 @@ Singleton { id: root readonly property list<MprisPlayer> list: Mpris.players.values - readonly property MprisPlayer active: manualActive ?? list.find(p => getIdentity(p) === Config.services.defaultPlayer) ?? list[0] ?? null - property MprisPlayer manualActive + readonly property MprisPlayer active: props.manualActive ?? list.find(p => getIdentity(p) === Config.services.defaultPlayer) ?? list[0] ?? null + property alias manualActive: props.manualActive function getIdentity(player: MprisPlayer): string { const alias = Config.services.playerAliases.find(a => a.from === player.identity); return alias?.to ?? player.identity; } + PersistentProperties { + id: props + + property MprisPlayer manualActive + + reloadableId: "players" + } + CustomShortcut { name: "mediaToggle" description: "Toggle media playback" |