{"id":48860449,"url":"https://github.com/adikhan12/mac-core-temp-watch","last_synced_at":"2026-04-15T15:01:23.100Z","repository":{"id":351428752,"uuid":"1210956109","full_name":"adiKhan12/mac-core-temp-watch","owner":"adiKhan12","description":"Lightweight native macOS menubar app — CPU temp, battery temp, and real-time CPU clock frequency for Apple Silicon","archived":false,"fork":false,"pushed_at":"2026-04-14T23:54:41.000Z","size":15,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-15T01:41:15.642Z","etag":null,"topics":["apple-silicon","cpu-monitor","macos","menubar","swift","system-monitor","temperature"],"latest_commit_sha":null,"homepage":null,"language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adiKhan12.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-14T23:43:11.000Z","updated_at":"2026-04-14T23:54:45.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/adiKhan12/mac-core-temp-watch","commit_stats":null,"previous_names":["adikhan12/mac-core-temp-watch"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/adiKhan12/mac-core-temp-watch","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adiKhan12%2Fmac-core-temp-watch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adiKhan12%2Fmac-core-temp-watch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adiKhan12%2Fmac-core-temp-watch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adiKhan12%2Fmac-core-temp-watch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adiKhan12","download_url":"https://codeload.github.com/adiKhan12/mac-core-temp-watch/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adiKhan12%2Fmac-core-temp-watch/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31846423,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T13:28:40.153Z","status":"ssl_error","status_checked_at":"2026-04-15T13:28:29.396Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apple-silicon","cpu-monitor","macos","menubar","swift","system-monitor","temperature"],"created_at":"2026-04-15T15:01:22.293Z","updated_at":"2026-04-15T15:01:23.094Z","avatar_url":"https://github.com/adiKhan12.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mac-core-temp-watch\n\nA lightweight native macOS menubar app that monitors CPU temperature, battery temperature, real-time CPU clock frequency, and thermal pressure on Apple Silicon Macs — with a one-click **Boost Mode** that squeezes up to 13% more performance out of your CPU.\n\n![Swift](https://img.shields.io/badge/Swift-5.9+-orange) ![macOS](https://img.shields.io/badge/macOS-14%2B-blue) ![License](https://img.shields.io/badge/license-MIT-green)\n\n## What it shows\n\n```\nCPU: 48°C 2.1GHz | Bat: 31°C\n```\n\nWhen Boost Mode is active:\n\n```\n⚡ CPU: 62°C 3.8GHz | Bat: 35°C\n```\n\nClick the menubar item for a detailed dropdown:\n\n```\nCPU Temperature:      48°C\nP-Cluster Frequency:  2.1 GHz\nE-Cluster Frequency:  0.8 GHz\nBattery Temperature:  31°C\nThermal: Nominal\n───────────────────────\nStatus: Normal\n───────────────────────\n⚡ Enable Boost          ⌘B\n───────────────────────\nQuit TempMonitor\n```\n\n## Boost Mode\n\nOne-click performance boost for CPU-intensive work. Verified **13% throughput improvement** on sustained workloads via A/B benchmarking.\n\n**What it does:**\n\n| Action | Why |\n|---|---|\n| Purge disk cache | Reduce memory pressure and CPU overhead from memory compression |\n| Pause Spotlight indexing | Stop background CPU and I/O competition |\n| Pause Time Machine | Free disk I/O bandwidth |\n| Power assertion | Prevent idle throttling during intensive work |\n\n**How it works:** On fanless Macs (MacBook Air), the CPU has a limited thermal budget — it can only sustain peak frequency for so long before throttling. Every background process eating CPU shortens that window. Boost Mode silences background consumers so your thermal budget goes entirely to your work.\n\n- Requires admin password (one prompt per toggle)\n- Fully reversible — un-boost restores everything\n- Spotlight and Time Machine resume automatically if the app quits\n- Cmd+B keyboard shortcut\n\n## Features\n\n- **Boost Mode** — 13% more CPU throughput with one click\n- **Thermal monitoring** — real-time pressure level (Nominal/Moderate/Heavy/Critical)\n- **Truly lightweight** — 168K binary, ~12MB RAM, 0.0% CPU\n- **Zero dependencies** — no Xcode project, no Swift packages, no third-party libs\n- **Single file** — entire app is one Swift file compiled with `swiftc`\n- **Battery-friendly** — sampling runs on E-cores via utility QoS\n- **Zero memory leaks** — verified with `leaks` tool\n- **Max-of-all-cores temp** — reads all 13 CPU sensors, reports the hottest\n- **No network, no file writes, no data collection**\n- **Apple Silicon native** — arm64, tested on M3\n\n## Requirements\n\n- macOS 14+\n- Apple Silicon (M1/M2/M3/M4)\n\n## Install\n\nDownload the DMG from [Releases](../../releases), open it, and drag `TempMonitor.app` to your Applications folder.\n\nOr build from source:\n\n```bash\ngit clone https://github.com/adiKhan12/mac-core-temp-watch.git\ncd mac-core-temp-watch\n./build.sh\nopen build/TempMonitor.app\n```\n\n## Build from source\n\n```bash\n./build.sh\n```\n\n```\n=== TempMonitor Build ===\n[1/4] Compiling...        168K binary\n[2/4] Creating app bundle...\n[3/4] Code signing...     valid on disk\n[4/4] Creating DMG...     72K\n```\n\nOutput: `build/TempMonitor.dmg`\n\n## How it works\n\n| Component | Method |\n|---|---|\n| CPU temp | SMC via IOKit — reads all detected cores, reports max |\n| Battery temp | SMC via IOKit (TB1T/TB2T/TB0T keys) |\n| CPU frequency | IOReport DVFS residency sampling (no root needed) |\n| Thermal pressure | Darwin notify API (`com.apple.system.thermalpressurelevel`) |\n| Boost Mode | Memory purge + Spotlight/TM pause + power assertion (admin prompt) |\n\nThe app probes for available sensor keys at startup since they vary across Mac models. Temperature values are bounds-checked (-20 to 150°C) and the byte order is handled for both Apple Silicon (little-endian) and Intel (big-endian).\n\n## Architecture\n\n```\nTempMonitor.swift (single file, ~750 lines)\n├── SMC Types \u0026 Byte Conversion\n├── SMCClient (IOKit connection)\n├── TemperatureReader (multi-core sensor probing)\n├── FrequencyReader (IOReport DVFS sampling)\n├── ThermalMonitor (Darwin notify API)\n├── BoostManager (privileged commands via osascript)\n├── MenuBarController (NSStatusItem + NSMenu)\n└── AppDelegate (timer, wiring, boost toggle)\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadikhan12%2Fmac-core-temp-watch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadikhan12%2Fmac-core-temp-watch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadikhan12%2Fmac-core-temp-watch/lists"}