diff --git a/Stats/Modules/Module.swift b/Stats/Modules/Module.swift index cb5f9d36..a507da7b 100644 --- a/Stats/Modules/Module.swift +++ b/Stats/Modules/Module.swift @@ -97,6 +97,10 @@ extension Module { widget.shortName = String(self.name.prefix(3)).uppercased() widget.Init() + self.readers.forEach { reader in + reader.read() + } + self.widget.view = widget as! NSView } } diff --git a/Stats/Modules/Network/NetworkReader.swift b/Stats/Modules/Network/NetworkReader.swift index a7328f39..9cf19f21 100644 --- a/Stats/Modules/Network/NetworkReader.swift +++ b/Stats/Modules/Network/NetworkReader.swift @@ -26,7 +26,7 @@ class NetworkReader: Reader { self.read() } } - + public func read() { if !self.enabled && self.initialized { return } self.initialized = true @@ -44,13 +44,14 @@ class NetworkReader: Reader { continue } pointer = pointer!.pointee.ifa_next - upload = info[0] - download = info[1] + upload += info[0] + download += info[1] } freeifaddrs(interfaceAddresses) let lastUpload = self.uploadValue let lastDownload = self.downloadValue + if lastUpload != 0 && lastDownload != 0 { DispatchQueue.main.async(execute: { self.callback([Double(download - lastDownload), Double(upload - lastUpload)]) diff --git a/Stats/Widgets/Battery/BatteryPercentageWidget.swift b/Stats/Widgets/Battery/BatteryPercentageWidget.swift index 7bbdde92..05cafab7 100644 --- a/Stats/Widgets/Battery/BatteryPercentageWidget.swift +++ b/Stats/Widgets/Battery/BatteryPercentageWidget.swift @@ -47,8 +47,8 @@ class BatteryPercentageWidget: BatteryWidget { override func update() { if self.value == 0 { return } - if percentageValue.isHidden { - percentageValue.isHidden = false + if self.percentageValue.isHidden { + self.percentageValue.isHidden = false } self.percentageValue.stringValue = "\(Int(self.value * 100))%" diff --git a/Stats/Widgets/Battery/BatteryTimeWidget.swift b/Stats/Widgets/Battery/BatteryTimeWidget.swift index da2ac522..ffecd9ab 100644 --- a/Stats/Widgets/Battery/BatteryTimeWidget.swift +++ b/Stats/Widgets/Battery/BatteryTimeWidget.swift @@ -34,17 +34,25 @@ class BatteryTimeWidget: BatteryWidget { timeValue.alignment = .right timeValue.font = NSFont.systemFont(ofSize: 11, weight: .regular) timeValue.stringValue = (self.time*60).printSecondsToHoursMinutesSeconds() + if self.time == 0 { + timeValue.isHidden = true + } self.addSubview(timeValue) } override func update() { - if self.time <= 0 && self.size == self.batterySize + timeWidth { + if self.value == 0 { return } + + if self.timeValue.isHidden { + self.timeValue.isHidden = false + } + self.timeValue.stringValue = (self.time*60).printSecondsToHoursMinutesSeconds() + + if self.time == 0 && self.size == self.batterySize + timeWidth { self.changeWidth(width: 0) - } else if self.time >= 0 || self.size != self.batterySize + timeWidth { + } else if self.time > 0 && self.size != self.batterySize + timeWidth { self.changeWidth(width: timeWidth) } - - self.timeValue.stringValue = (self.time*60).printSecondsToHoursMinutesSeconds() } } diff --git a/Stats/libs/Extensions.swift b/Stats/libs/Extensions.swift index a8e40fd9..99dd4f99 100755 --- a/Stats/libs/Extensions.swift +++ b/Stats/libs/Extensions.swift @@ -107,7 +107,7 @@ public struct Units { public func getReadableSpeed() -> String { switch bytes { case 0..<1_024: - return "0 KB" + return "0 KB/s" case 1_024..<(1_024 * 1_024): return String(format: "%.0f KB/s", kilobytes) case 1_024..<(1_024 * 1_024 * 100): @@ -124,7 +124,7 @@ public struct Units { public func getReadableMemory() -> String { switch bytes { case 0..<1_024: - return "0 KB" + return "0 KB/s" case 1_024..<(1_024 * 1_024): return String(format: "%.0f KB", kilobytes) case 1_024..<(1_024 * 1_024 * 1_024):