# Puter A native macOS system monitor written in SwiftUI and inspired by Windows 11 Task Manager. Validated with automated tests, debug and release builds, packaged-app code-signature checks, and hands-on UI regression through macOS accessibility and screenshots. ## Features - Live process list with CPU, memory, disk I/O, and network usage - Cached native application icons throughout process groups, app history, startup apps, users, services, properties, and dependency views - Search and sortable process columns, including live Disk and Network rates - Drag-resizable, persisted Processes columns with memory hover details showing both resident bytes and physical-memory percentage - Column sorting automatically flattens process categories for a true global order; the header menu can restore Group by type - Expandable application groups plus a resizable Details table with application icons, persisted optional columns, live selection actions, threads, open handles, architecture, priority/nice, parent PID, CPU time, and other diagnostics - Collapsible Windows-style Apps, Background processes, and macOS processes categories - Native process sampling reports from the Inspect submenu, with save-location memory and completion feedback - Persistent preferences for the default start page, Performance selection and CPU graph mode, update speed, always-on-top behavior, and process/detail table layouts - Expandable application groups with aggregate metrics and individual child processes - Group-wide right-click controls for ending, pausing, resuming, reprioritizing, copying, and inspecting related processes - Nested right-click menus for process control, priority, copying, inspection, and properties - Graceful termination, force quit, process-tree termination, pause, and resume actions - CPU and memory history charts - Right-click CPU graph switching between summary and live per-core views - Live network receive/send throughput with an auto-scaling 60-second chart - Persistent per-app history with cumulative CPU time, network totals, download/upload breakdowns, and reset confirmation - Disk, uptime, process, and thread statistics - One live Performance entry per available removable volume, with capacity, availability, filesystem, mount point, and ejectable status; disconnected volumes are hidden - Detailed memory telemetry for active, cached, wired, compressed, and swap usage plus hardware type, manufacturer, and reported speed/frequency - A maintained M1-through-M5 Apple-silicon memory catalog, including core-count configuration variants; Intel Macs continue to use DIMM speeds reported directly by System Information - Native disk read/write throughput, IOPS, active time, and response-time histories - Live Apple GPU utilization with overall, renderer, and tiler histories plus GPU memory and core statistics - Hardware diagnostics for battery health, capacity, cycle life, temperature, charge state, live system watts, thermal pressure, USB-PD negotiation and advertised power profiles - USB-C, USB, and Thunderbolt port inventory with negotiated link speeds, connected-device power requirements, and an optional available-port map - User, detail, service, persistent app history, and startup views covering native login items plus LaunchAgents - Estimated live startup impact with Low, Medium, and High classifications and detailed CPU/memory/disk evidence - Combined user and system launchd Services registry with scope filtering, running/stopped state, safe Start/Stop/Restart controls, protected-system labeling, configuration reveal, Details, and Properties actions - Process dependency inspector with relationship chains, network/local sockets, canonical framework dependencies, open files, and handle totals - Persistent Resource values submenu for switching memory, disk, and network cells between values and percentages - Signed-in Users sessions with active-state and aggregate resources plus Lock, home-folder, account-management, Copy, Details, and Properties actions - Configurable 1/5/10-second diagnostic samples with remembered folders and optional automatic timestamped output - Run New Task sheet and persistent update-speed settings - WinUI-style expanded and compact navigation rail controlled by the native title-bar sidebar button, with persisted state, balanced spacing, tooltips, and accessibility labels - Native macOS menus, toolbar, light/dark mode, and accessibility behavior - Per-resource top-process panels on Performance with application icons, owning users, and live CPU, memory, disk, or network values - Native JSON export of performance, process, user, battery, power-delivery, thermal, and connected-hardware snapshots - Integrated SMC fan telemetry and safe in-app cooling controls with per-fan RPM ranges, manual targets, and one-click return to macOS automatic management ## Run Open `Package.swift` in Xcode and press Run, or use: ```sh swift run ``` To create a standard double-clickable app bundle: ```sh ./scripts/build-app.sh open "dist/Puter.app" ``` To create a drag-to-install disk image containing the app and an Applications shortcut: ```sh ./scripts/build-app.sh ./scripts/build-dmg.sh ``` The app refreshes every two seconds. Some system-owned processes cannot be ended without elevated permissions.