diff --git a/Modules/Sensors/main.swift b/Modules/Sensors/main.swift
index e5827988..dd7f8edc 100644
--- a/Modules/Sensors/main.swift
+++ b/Modules/Sensors/main.swift
@@ -40,9 +40,6 @@ public class Sensors: Module {
self.sensorsReader.setInterval(value)
}
self.settingsView.HIDcallback = { [unowned self] in
- self.sensorsReader.HIDCallback()
- self.popupView.setup(self.sensorsReader.list)
- self.settingsView.setList(list: self.sensorsReader.list)
DispatchQueue.global(qos: .background).async {
self.sensorsReader.HIDCallback()
DispatchQueue.main.async {
@@ -52,9 +49,6 @@ public class Sensors: Module {
}
}
self.settingsView.unknownCallback = { [unowned self] in
- self.sensorsReader.unknownCallback()
- self.popupView.setup(self.sensorsReader.list)
- self.settingsView.setList(list: self.sensorsReader.list)
DispatchQueue.global(qos: .background).async {
self.sensorsReader.unknownCallback()
DispatchQueue.main.async {
diff --git a/Modules/Sensors/popup.swift b/Modules/Sensors/popup.swift
index 5ce4aa36..bac529c2 100644
--- a/Modules/Sensors/popup.swift
+++ b/Modules/Sensors/popup.swift
@@ -17,6 +17,10 @@ internal class Popup: NSStackView, Popup_p {
public var sizeCallback: ((NSSize) -> Void)? = nil
+ private var unknownSensorsState: Bool {
+ return Store.shared.bool(key: "Sensors_unknown", defaultValue: false)
+ }
+
public init() {
super.init(frame: NSRect( x: 0, y: 0, width: Constants.Popup.width, height: 0))
@@ -30,9 +34,12 @@ internal class Popup: NSStackView, Popup_p {
internal func setup(_ values: [Sensor_p]?) {
guard let fans = values?.filter({ $0.type == .fan }),
- let sensors = values?.filter({ $0.type != .fan }) else {
+ var sensors = values?.filter({ $0.type != .fan }) else {
return
}
+ if !self.unknownSensorsState {
+ sensors = sensors.filter({ $0.group != .unknown })
+ }
self.subviews.forEach { (v: NSView) in
v.removeFromSuperview()
diff --git a/Modules/Sensors/readers.swift b/Modules/Sensors/readers.swift
index 273193f4..2fc9644d 100644
--- a/Modules/Sensors/readers.swift
+++ b/Modules/Sensors/readers.swift
@@ -34,11 +34,10 @@ internal class SensorsReader: Reader<[Sensor_p]> {
private var HIDState: Bool {
return Store.shared.bool(key: "Sensors_hid", defaultValue: false)
}
- private var unknownSensorsState: Bool {
- return Store.shared.bool(key: "Sensors_unknown", defaultValue: false)
- }
+ private var unknownSensorsState: Bool
init() {
+ self.unknownSensorsState = Store.shared.bool(key: "Sensors_unknown", defaultValue: false)
super.init()
self.list = self.sensors()
}
@@ -84,19 +83,17 @@ internal class SensorsReader: Reader<[Sensor_p]> {
}
}
}
- if self.unknownSensorsState {
- available.forEach { (key: String) in
- var type: SensorType? = nil
- switch key.prefix(1) {
- case "T": type = .temperature
- case "V": type = .voltage
- case "P": type = .power
- case "I": type = .current
- default: type = nil
- }
- if let t = type {
- list.append(Sensor(key: key, name: key, group: .unknown, type: t, platforms: []))
- }
+ available.forEach { (key: String) in
+ var type: SensorType? = nil
+ switch key.prefix(1) {
+ case "T": type = .temperature
+ case "V": type = .voltage
+ case "P": type = .power
+ case "I": type = .current
+ default: type = nil
+ }
+ if let t = type {
+ list.append(Sensor(key: key, name: key, group: .unknown, type: t, platforms: []))
}
}
@@ -129,12 +126,9 @@ internal class SensorsReader: Reader<[Sensor_p]> {
}
public override func read() {
- let sensorsCounter = self.list.count
- for (i, s) in self.list.enumerated() {
- guard self.list.count == sensorsCounter else { return }
- if s.group == .hid || s.isComputed {
- continue
- }
+ for i in self.list.indices {
+ guard self.list[i].group != .hid && !self.list[i].isComputed else { continue }
+ if !self.unknownSensorsState && self.list[i].group == .unknown { continue }
self.list[i].value = SMC.shared.getValue(self.list[i].key) ?? 0
}
@@ -274,7 +268,7 @@ internal class SensorsReader: Reader<[Sensor_p]> {
}
public func unknownCallback() {
- self.list = self.sensors()
+ self.unknownSensorsState = Store.shared.bool(key: "Sensors_unknown", defaultValue: false)
}
}
diff --git a/Modules/Sensors/settings.swift b/Modules/Sensors/settings.swift
index fec24b36..ea3b51b6 100644
--- a/Modules/Sensors/settings.swift
+++ b/Modules/Sensors/settings.swift
@@ -166,7 +166,7 @@ internal class Settings: NSStackView, Settings_v {
}
public func setList(list: [Sensor_p]) {
- self.list = list
+ self.list = self.unknownSensorsState ? list : list.filter({ $0.group != .unknown })
self.load(widgets: self.widgets)
}
diff --git a/Stats/Supporting Files/Info.plist b/Stats/Supporting Files/Info.plist
index cb147d88..1223f9bc 100755
--- a/Stats/Supporting Files/Info.plist
+++ b/Stats/Supporting Files/Info.plist
@@ -17,7 +17,7 @@
CFBundleShortVersionString
$(MARKETING_VERSION)
CFBundleVersion
- 448
+ 449
Description
Simple macOS system monitor in your menu bar
LSApplicationCategoryType