From 946c3a61d7faf8d9bcd998144e91ce960f5ccbc5 Mon Sep 17 00:00:00 2001 From: Damocles Date: Sat, 25 Apr 2026 09:57:43 +0200 Subject: [PATCH] sparkline: remove maxSamples, remove bar gaps, always fill width from data --- shell/applets/BatteryApplet.qml | 2 -- shell/applets/GpuApplet.qml | 1 - shell/applets/MemoryApplet.qml | 1 - shell/applets/SparklineCanvas.qml | 10 +++------- shell/applets/TemperatureApplet.qml | 1 - 5 files changed, 3 insertions(+), 12 deletions(-) diff --git a/shell/applets/BatteryApplet.qml b/shell/applets/BatteryApplet.qml index 13e5846..327c43a 100644 --- a/shell/applets/BatteryApplet.qml +++ b/shell/applets/BatteryApplet.qml @@ -96,7 +96,6 @@ Column { history: S.BatteryService.history color: root._stateColor active: root.active - maxSamples: 1440 backgroundTint: 0.07 areaMode: true thresholds: [ @@ -163,7 +162,6 @@ Column { history: S.BatteryService.rateHistory color: root._stateColor active: root.active - maxSamples: 60 maxValue: null minValue: null backgroundTint: 0.08 diff --git a/shell/applets/GpuApplet.qml b/shell/applets/GpuApplet.qml index 896b1e0..1d10648 100644 --- a/shell/applets/GpuApplet.qml +++ b/shell/applets/GpuApplet.qml @@ -84,7 +84,6 @@ Column { height: 36 history: S.SystemStats.gpuHistory active: root.active - maxSamples: 60 colorFunction: v => S.Theme.loadColor(v) } diff --git a/shell/applets/MemoryApplet.qml b/shell/applets/MemoryApplet.qml index 6aa0005..fe69183 100644 --- a/shell/applets/MemoryApplet.qml +++ b/shell/applets/MemoryApplet.qml @@ -80,7 +80,6 @@ Column { history: S.SystemStats.memHistory color: root.accentColor active: root.active - maxSamples: 30 backgroundTint: 0.15 } diff --git a/shell/applets/SparklineCanvas.qml b/shell/applets/SparklineCanvas.qml index dc68691..cffabb1 100644 --- a/shell/applets/SparklineCanvas.qml +++ b/shell/applets/SparklineCanvas.qml @@ -13,9 +13,6 @@ Canvas { readonly property real _max: maxValue !== null && maxValue !== undefined ? maxValue : (history.length ? Math.max(...history) : 100) readonly property real _min: minValue !== null && minValue !== undefined ? minValue : (history.length ? Math.min(...history) : 0) - // Max x-axis slots - bars get narrower as data fills up, then oldest drops off - property int maxSamples: 0 - // Logarithmic x-axis: compresses old data on the left, expands recent data on the right. // logCurve controls strength (0 = linear, 3 = strong compression). Only visual - does not affect data. property bool logScale: false @@ -69,9 +66,8 @@ Canvas { const x1 = width * (Math.exp(k * (i + 1) / n) - 1) / expK; return [x0, x1 - x0]; } - const step = width / (maxSamples > n ? maxSamples : n); - const off = maxSamples > n ? (maxSamples - n) * step : 0; - return [off + i * step, step]; + const step = width / n; + return [i * step, step]; } // Background tint @@ -149,7 +145,7 @@ Canvas { const dy = yOf(d[i]); const barTop = Math.min(dy, zy); const barH = Math.max(1, Math.abs(dy - zy)); - ctx.fillRect(bx, barTop, Math.max(1, bw - 0.5), barH); + ctx.fillRect(bx, barTop, Math.ceil(bw), barH); } } } diff --git a/shell/applets/TemperatureApplet.qml b/shell/applets/TemperatureApplet.qml index 98ad539..45534e5 100644 --- a/shell/applets/TemperatureApplet.qml +++ b/shell/applets/TemperatureApplet.qml @@ -113,7 +113,6 @@ Column { history: root.history color: root.stateColor active: root.active - maxSamples: 150 backgroundTint: 0.08 thresholds: [ {