From 17812d03228b6cf149459cd935cbeecce54cb079 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Wed, 9 Jul 2025 22:55:51 +1000 Subject: dashboard: sleep cava Closes #201 Also allow hot updating visualiser bars config --- services/Cava.qml | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/services/Cava.qml b/services/Cava.qml index 5053984..e7d3a63 100644 --- a/services/Cava.qml +++ b/services/Cava.qml @@ -3,16 +3,29 @@ pragma Singleton import "root:/config" import Quickshell import Quickshell.Io +import QtQuick Singleton { id: root - property list values + property list values: Array(Config.dashboard.visualiserBars) property int refCount + Connections { + target: Config.dashboard + + function onVisualiserBarsChanged() { + root.values = Array(Config.dashboard.visualiserBars); + cavaProc.running = false; + cavaProc.running = true; + } + } + Process { + id: cavaProc + running: true - command: ["sh", "-c", `printf '[general]\nframerate=60\nbars=${Config.dashboard.visualiserBars}\n[output]\nchannels=mono\nmethod=raw\nraw_target=/dev/stdout\ndata_format=ascii\nascii_max_range=100' | cava -p /dev/stdin`] + command: ["sh", "-c", `printf '[general]\nframerate=60\nbars=${Config.dashboard.visualiserBars}\nsleep_timer=3\n[output]\nchannels=mono\nmethod=raw\nraw_target=/dev/stdout\ndata_format=ascii\nascii_max_range=100' | cava -p /dev/stdin`] stdout: SplitParser { onRead: data => { if (root.refCount) -- cgit v1.2.3-freya