diff --git a/Sources/ProcessBarMonitor/MonitorViewModel.swift b/Sources/ProcessBarMonitor/MonitorViewModel.swift index c23c47f..43d5b11 100644 --- a/Sources/ProcessBarMonitor/MonitorViewModel.swift +++ b/Sources/ProcessBarMonitor/MonitorViewModel.swift @@ -49,7 +49,7 @@ final class MonitorViewModel: ObservableObject { } private let metricsProvider = SystemMetricsProvider() - private let processProvider = ProcessSnapshotProvider() + private let processProvider = ProcessSnapshotProvider.shared private let settings: SettingsStore private let logger = Logger(subsystem: Bundle.main.bundleIdentifier ?? "ai.openclaw.ProcessBarMonitor", category: "process-snapshot") private var refreshTask: Task? diff --git a/Sources/ProcessBarMonitor/ProcessSnapshotProvider.swift b/Sources/ProcessBarMonitor/ProcessSnapshotProvider.swift index 1e0ea3f..3071a90 100644 --- a/Sources/ProcessBarMonitor/ProcessSnapshotProvider.swift +++ b/Sources/ProcessBarMonitor/ProcessSnapshotProvider.swift @@ -2,6 +2,8 @@ import Foundation import AppKit actor ProcessSnapshotProvider { + static let shared = ProcessSnapshotProvider() + enum SnapshotError: LocalizedError { case launchFailed(Error) case commandFailed(status: Int32, stderr: String)