Files
puter/README.md
T

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.