-
Notifications
You must be signed in to change notification settings - Fork 3
Runtime Architecture
The runtime is a menu bar utility with a dashboard window. Core_MonitorApp.swift installs the application delegate, creates long-lived coordinator state, handles duplicate launches, sets activation policy, installs menu bar items, and opens the dashboard when onboarding or explicit user actions require it.
AppCoordinator owns shared app objects such as SystemMonitor, FanController, menu bar coordination, Touch Bar attachment, and dashboard navigation. SwiftUI surfaces should read from these shared objects rather than creating parallel samplers or independent fan state.
SystemMonitor is the telemetry source of truth. It publishes SystemMonitorSnapshot, trend series, and lightweight convenience accessors. Dashboard and menu bar surfaces read from the snapshot and history buffers. Detailed process sampling is adaptive and reason-driven to avoid constant expensive enumeration.
Fan control is split: FanController decides product behavior and target RPMs, SMCHelperManager manages helper install/reachability/XPC, and smc-helper/main.swift performs privileged AppleSMC writes after validating clients and input.
- Home
- Start Here
- Product Overview
- Runtime Architecture
- Monitoring Pipeline
- Fan Control
- Privileged Helper
- Touch Bar
- Release Automation
- Security Model
- File Index (279)
- Every Commit (401)
- Chronological Change Log
- Removed Parts
- All Deleted Paths
- Branches And Tags
- Wiki Manifest
- Start Here
- Product Overview
- Source Map
- Runtime Architecture
- App Startup And Lifecycle
- Dashboard Architecture
- Menu Bar Architecture
- Monitoring Pipeline
- Snapshot Trends And Freshness
- CPU GPU Memory Disk Network
- Battery Power And Thermals
- SMC And Apple Silicon
- Fan Control
- Custom Fan Curves
- Privileged Helper
- XPC Trust Boundary
- Helper Diagnostics
- Touch Bar Architecture
- Touch Bar Customization
- Weather And Location
- Privacy And Permissions
- Onboarding And Help
- Legacy Alerts
- Kernel Panic Weird Mode