mirror of
https://github.com/morgan9e/macos-stats
synced 2026-04-14 00:04:15 +09:00
feat: changed Sensor type to the Fan for the Fastest Fan. That allows showing RPM or percentage for the Fastest Fan based on the Fan value setting (#1335)
This commit is contained in:
@@ -33,7 +33,7 @@ internal class Popup: NSStackView, Popup_p {
|
||||
}
|
||||
|
||||
internal func setup(_ values: [Sensor_p]?) {
|
||||
guard let fans = values?.filter({ $0.type == .fan }),
|
||||
guard let fans = values?.filter({ $0.type == .fan && !$0.isComputed }),
|
||||
var sensors = values?.filter({ $0.type != .fan }) else {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -191,7 +191,12 @@ internal class SensorsReader: Reader<[Sensor_p]> {
|
||||
if !fanSensors.isEmpty && fanSensors.count > 1 {
|
||||
if let f = fanSensors.max(by: { $0.value < $1.value }) as? Fan {
|
||||
if let idx = self.list.firstIndex(where: { $0.key == "Fastest Fan" }) {
|
||||
self.list[idx].value = (f.value*100)/f.maxSpeed
|
||||
if var fan = self.list[idx] as? Fan {
|
||||
fan.value = f.value
|
||||
fan.minSpeed = f.minSpeed
|
||||
fan.maxSpeed = f.maxSpeed
|
||||
self.list[idx] = fan
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -244,7 +249,7 @@ internal class SensorsReader: Reader<[Sensor_p]> {
|
||||
}
|
||||
if !fanSensors.isEmpty && fanSensors.count > 1 {
|
||||
if let f = fanSensors.max(by: { $0.value < $1.value }) as? Fan {
|
||||
list.append(Sensor(key: "Fastest Fan", name: "Fastest Fan", value: (f.value*100)/f.maxSpeed, group: .sensor, type: .fan, platforms: Platform.all, isComputed: true))
|
||||
list.append(Fan(id: -1, key: "Fastest Fan", name: "Fastest Fan", minSpeed: f.minSpeed, maxSpeed: f.maxSpeed, value: f.value, mode: .automatic, isComputed: true))
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -74,7 +74,7 @@ internal struct Sensor: Sensor_p {
|
||||
case .current:
|
||||
return "A"
|
||||
case .fan:
|
||||
return "%"
|
||||
return "RPM"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -126,7 +126,7 @@ internal struct Sensor: Sensor_p {
|
||||
let val = value >= 9.95 ? "\(Int(round(value)))" : String(format: "%.1f", value)
|
||||
return "\(val)\(unit)"
|
||||
case .fan:
|
||||
return "\(Int(value))\(unit)"
|
||||
return "\(Int(value))"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -154,8 +154,8 @@ internal struct Fan: Sensor_p {
|
||||
let id: Int
|
||||
var key: String
|
||||
var name: String
|
||||
let minSpeed: Double
|
||||
let maxSpeed: Double
|
||||
var minSpeed: Double
|
||||
var maxSpeed: Double
|
||||
var value: Double
|
||||
var mode: FanMode
|
||||
|
||||
|
||||
Reference in New Issue
Block a user