feat: added a new United widget that visualizes: CPU, GPU, RAM, and disk utilization

This commit is contained in:
Serhiy Mytrovtsiy
2025-07-25 19:03:28 +02:00
parent 35e6141021
commit 3a59807044
8 changed files with 161 additions and 2 deletions

View File

@@ -11,7 +11,7 @@ import Kit
import WidgetKit
public struct CPU_Load: Codable, RemoteType {
var totalUsage: Double = 0
public var totalUsage: Double = 0
var usagePerCore: [Double] = []
var usageECores: Double? = nil
var usagePCores: Double? = nil
@@ -226,6 +226,7 @@ public class CPU: Module {
guard let blobData = try? JSONEncoder().encode(value) else { return }
self.userDefaults?.set(blobData, forKey: "CPU@LoadReader")
WidgetCenter.shared.reloadTimelines(ofKind: CPU_entry.kind)
WidgetCenter.shared.reloadTimelines(ofKind: "UnitedWidget")
}
}
}

View File

@@ -51,7 +51,7 @@ public struct drive: Codable {
var activity: stats = stats()
var smart: smart_t? = nil
var percentage: Double {
public var percentage: Double {
let total = self.size
let free = self.free
var usedSpace = total - free
@@ -333,6 +333,7 @@ public class Disk: Module {
guard let blobData = try? JSONEncoder().encode(d) else { return }
self.userDefaults?.set(blobData, forKey: "Disk@CapacityReader")
WidgetCenter.shared.reloadTimelines(ofKind: Disk_entry.kind)
WidgetCenter.shared.reloadTimelines(ofKind: "UnitedWidget")
}
}

View File

@@ -195,6 +195,7 @@ public class GPU: Module {
guard let blobData = try? JSONEncoder().encode(selectedGPU) else { return }
self.userDefaults?.set(blobData, forKey: "GPU@InfoReader")
WidgetCenter.shared.reloadTimelines(ofKind: GPU_entry.kind)
WidgetCenter.shared.reloadTimelines(ofKind: "UnitedWidget")
}
}
}

View File

@@ -236,6 +236,7 @@ public class RAM: Module {
guard let blobData = try? JSONEncoder().encode(value) else { return }
self.userDefaults?.set(blobData, forKey: "RAM@UsageReader")
WidgetCenter.shared.reloadTimelines(ofKind: RAM_entry.kind)
WidgetCenter.shared.reloadTimelines(ofKind: "UnitedWidget")
}
}
}