4.3 KiB
4.3 KiB
Mac Task Manager
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 an advanced Details table with persisted optional columns for 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
- 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
- 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
Run
Open Package.swift in Xcode and press Run, or use:
swift run
To create a standard double-clickable app bundle:
./scripts/build-app.sh
open "dist/Task Manager.app"
To create a drag-to-install disk image containing the app and an Applications shortcut:
./scripts/build-app.sh
./scripts/build-dmg.sh
The app refreshes every two seconds. Some system-owned processes cannot be ended without elevated permissions.