From 9525ff12dbb756eb93ffc6e849bc1382c3521ed5 Mon Sep 17 00:00:00 2001 From: "s0wlz (Matthias Puchstein)" Date: Mon, 1 Jun 2026 14:06:40 +0200 Subject: [PATCH] quickshell: poll k8s metrics only while the popout is open The metrics poller spawned the heavy k8s-metrics script every 15s all day even though its data only renders in the popout. Gate it on the popout being open (triggeredOnStart fetches immediately on open) and slow the pill's status poll from 30s to 120s. --- dot_config/quickshell/shared/Config.qml.tmpl | 2 +- dot_config/quickshell/shared/Kubernetes.qml | 18 +++++------------- 2 files changed, 6 insertions(+), 14 deletions(-) diff --git a/dot_config/quickshell/shared/Config.qml.tmpl b/dot_config/quickshell/shared/Config.qml.tmpl index 718c058..cf8f73e 100644 --- a/dot_config/quickshell/shared/Config.qml.tmpl +++ b/dot_config/quickshell/shared/Config.qml.tmpl @@ -56,7 +56,7 @@ Singleton { // Kubernetes readonly property bool kubeEnabled: true readonly property string kubeNamespace: "tenant-5" - readonly property int kubeStatusRefreshMs: 30000 + readonly property int kubeStatusRefreshMs: 120000 readonly property int kubeMetricsRefreshMs: 15000 // Idle daemon diff --git a/dot_config/quickshell/shared/Kubernetes.qml b/dot_config/quickshell/shared/Kubernetes.qml index 388610e..15ac9c4 100644 --- a/dot_config/quickshell/shared/Kubernetes.qml +++ b/dot_config/quickshell/shared/Kubernetes.qml @@ -86,19 +86,13 @@ Singleton { onTriggered: statusProc.running = true } - // Metrics poller + // Metrics poller — only while the popout is open (metrics are popout-only). + // triggeredOnStart fetches immediately when the popout opens. Timer { interval: Config.kubeMetricsRefreshMs - running: Config.kubeEnabled + running: Config.kubeEnabled && PopoutState.active === "kubernetes" repeat: true - onTriggered: metricsProc.running = true - } - - // Stagger: fire metricsProc once at startup (500ms after status) - Timer { - id: metricsStagger - interval: 500 - repeat: false + triggeredOnStart: true onTriggered: metricsProc.running = true } @@ -114,9 +108,7 @@ Singleton { } Component.onCompleted: { - if (Config.kubeEnabled) { + if (Config.kubeEnabled) statusProc.running = true; - metricsStagger.running = true; - } } }