diff options
| author | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-07-09 22:55:51 +1000 |
|---|---|---|
| committer | 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> | 2025-07-09 22:55:51 +1000 |
| commit | 17812d03228b6cf149459cd935cbeecce54cb079 (patch) | |
| tree | 15c0026245440ebc28eef40467832ac45d6b2615 /services | |
| parent | notifs: fix shrink height (diff) | |
| download | caelestia-shell-17812d03228b6cf149459cd935cbeecce54cb079.tar.gz caelestia-shell-17812d03228b6cf149459cd935cbeecce54cb079.tar.bz2 caelestia-shell-17812d03228b6cf149459cd935cbeecce54cb079.zip | |
dashboard: sleep cava
Closes #201
Also allow hot updating visualiser bars config
Diffstat (limited to 'services')
| -rw-r--r-- | services/Cava.qml | 17 |
1 files 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<int> values + property list<int> 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) |