fix: fixed fan mode restore after sleep (#1436)

This commit is contained in:
Serhiy Mytrovtsiy
2023-04-28 21:03:32 +02:00
parent d810915e54
commit d08e8be203
2 changed files with 18 additions and 8 deletions

View File

@@ -408,8 +408,8 @@ internal class FanView: NSStackView {
self.edgeInsets.top + self.edgeInsets.bottom + (self.spacing*CGFloat(self.arrangedSubviews.count))
}
private var willSleepMode: FanMode? = nil
private var willSleepSpeed: Int? = nil
private var willSleepMode: FanMode? = nil // fan mode before sleep
private var willSleepSpeed: Int? = nil // fan speed before sleep
public init(_ fan: Fan, width: CGFloat, callback: @escaping (() -> Void)) {
self.fan = fan
@@ -731,10 +731,16 @@ internal class FanView: NSStackView {
if self.speedState {
if let mode = self.willSleepMode, let speed = self.willSleepSpeed {
SMCHelper.shared.setFanMode(fan.id, mode: mode.rawValue)
self.modeButtons?.setMode(mode)
if mode != .automatic {
self.setSpeed(value: speed)
DispatchQueue.main.asyncAfter(deadline: .now() + 3) {
SMCHelper.shared.setFanMode(self.fan.id, mode: mode.rawValue)
self.modeButtons?.setMode(mode)
if mode != .automatic {
self.setSpeed(value: speed, then: {
DispatchQueue.main.async {
self.sliderValueField?.textColor = .systemBlue
}
})
}
}
}
self.willSleepMode = nil
@@ -742,7 +748,11 @@ internal class FanView: NSStackView {
}
if let value = self.fan.customSpeed, self.fan.mode != .automatic {
self.setSpeed(value: value)
self.setSpeed(value: value, then: {
DispatchQueue.main.async {
self.sliderValueField?.textColor = .systemBlue
}
})
}
}

View File

@@ -32,7 +32,7 @@ internal class SensorsReader: Reader<[Sensor_p]> {
private let firstRead: Date = Date()
private var HIDState: Bool {
return Store.shared.bool(key: "Sensors_hid", defaultValue: false)
Store.shared.bool(key: "Sensors_hid", defaultValue: false)
}
private var unknownSensorsState: Bool