diff options
| -rw-r--r-- | README.md | 1 | ||||
| -rw-r--r-- | config/UtilitiesConfig.qml | 1 | ||||
| -rw-r--r-- | services/Players.qml | 15 |
3 files changed, 17 insertions, 0 deletions
@@ -591,6 +591,7 @@ default, you must create it manually. "kbLayoutChanged": true, "numLockChanged": true, "vpnChanged": true, + "nowPlaying": false }, "vpn": { "enabled": false, diff --git a/config/UtilitiesConfig.qml b/config/UtilitiesConfig.qml index 0c48034..5779d88 100644 --- a/config/UtilitiesConfig.qml +++ b/config/UtilitiesConfig.qml @@ -24,6 +24,7 @@ JsonObject { property bool numLockChanged: true property bool kbLayoutChanged: true property bool vpnChanged: true + property bool nowPlaying: false } component Vpn: JsonObject { diff --git a/services/Players.qml b/services/Players.qml index 22aab3f..1191696 100644 --- a/services/Players.qml +++ b/services/Players.qml @@ -5,6 +5,8 @@ import qs.config import Quickshell import Quickshell.Io import Quickshell.Services.Mpris +import QtQml +import Caelestia Singleton { id: root @@ -18,6 +20,19 @@ Singleton { return alias?.to ?? player.identity; } + Connections { + target: active + + function onPostTrackChanged() { + if (!Config.utilities.toasts.nowPlaying) { + return; + } + if (active.trackArtist != "" && active.trackTitle != "") { + Toaster.toast(qsTr("Now Playing"), qsTr("%1 - %2").arg(active.trackArtist).arg(active.trackTitle), "music_note"); + } + } + } + PersistentProperties { id: props |