dashboard: sleep cava

Closes #201

Also allow hot updating visualiser bars config
This commit is contained in:
2 * r + 2 * t 2025-07-09 22:55:51 +10:00
parent 8b61a02145
commit 17812d0322

View file

@ -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)