feat: added sleep mode to the reader, in some cases there is no need for reads since the widget is not visualizing anything. In this case, the reader could go to sleep mode and be active only when popup is open. It's available only for the sensor module for now.

This commit is contained in:
Serhiy Mytrovtsiy
2026-03-12 16:52:00 +01:00
parent 510d9132a6
commit 678d813d75
3 changed files with 26 additions and 5 deletions

View File

@@ -106,7 +106,10 @@ public class Sensors: Module {
self.portalView.usageCallback(value.sensors)
self.notificationsView.usageCallback(value.sensors)
self.menuBar.widgets.filter{ $0.isActive }.forEach { (w: SWidget) in
let activeWidgets = self.menuBar.widgets.filter{ $0.isActive }
self.sensorsReader?.sleepMode(state: activeWidgets.contains(where: {$0.item is Label}) && activeWidgets.count == 1)
activeWidgets.forEach { (w: SWidget) in
switch w.item {
case let widget as Mini:
if let active = value.sensors.first(where: { $0.key == self.selectedSensor }) {