diff options
| author | Sam Nystrom <sam@samnystrom.dev> | 2026-01-15 16:53:43 -0500 |
|---|---|---|
| committer | Sam Nystrom <sam@samnystrom.dev> | 2026-01-15 16:53:43 -0500 |
| commit | 53008538e5bef961e9ceb5abc5c5ee05a559e97d (patch) | |
| tree | 3ad2f4fa7fbc88ff4bb67c75395cc4acdb9c09fb /.config/quickshell/Services/Song.qml | |
| parent | 3ac17574dbcfe68b2fba11aeeb445f04d1170c2a (diff) | |
update qs config
Diffstat (limited to '.config/quickshell/Services/Song.qml')
| -rw-r--r-- | .config/quickshell/Services/Song.qml | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/.config/quickshell/Services/Song.qml b/.config/quickshell/Services/Song.qml new file mode 100644 index 0000000..a4dc969 --- /dev/null +++ b/.config/quickshell/Services/Song.qml @@ -0,0 +1,45 @@ +pragma Singleton + +import Quickshell +import Quickshell.Io +import QtQuick + +Singleton { + id: root + property string file + property string artist + property string title + property string coverPath: "/home/samn/Music/cover.jpg" + + Process { + id: songProc + command: ["rmpc", "song"] + running: true + stdout: StdioCollector { + onStreamFinished: { + var oldFile = root.file + var obj = JSON.parse(this.text); + + root.file = obj.file + root.artist = obj.metadata.artist + root.title = obj.metadata.title + + if (obj.file !== oldFile) { + coverProc.exec(["ffmpeg", "-y", "-i", "/home/samn/Music/" + obj.file, "-an", "-c:v", "copy", "/home/samn/Music/cover.jpg"]) + } + } + } + } + + Process { + id: coverProc + running: false + } + + Timer { + interval: 5000 + running: true + repeat: true + onTriggered: songProc.running = true + } +} |
