pragma Singleton import QtQuick import Quickshell import Quickshell.Io import "." as S import NovaStats as NS QtObject { id: root property string icon: "" property string tooltip: "" readonly property bool available: icon !== "" property Process _proc: Process { running: NS.ModulesService.weatherEnable command: ["wttrbar"].concat(NS.ModulesService.weatherArgs) stdout: StdioCollector { onStreamFinished: { try { const data = JSON.parse(text); root.icon = data.text ?? ""; root.tooltip = data.tooltip ?? ""; } catch (e) { root.icon = ""; root.tooltip = ""; } } } } property Timer _poll: Timer { interval: NS.ModulesService.weatherInterval || 3600000 running: NS.ModulesService.weatherEnable repeat: true onTriggered: root._proc.running = true } function refresh() { _proc.running = true; } }