MacSlowCooker visualiserar Macens GPU-användning, SoC-temperatur, fläktvarvtal och effekt som en animerad Dock-ikon i form av en kokgryta. Grytans färg följer värmen (vit → röd), lågan under växer med GPU-belastningen och ånga stiger med fläktvarvtalet. Långvarig belastning utlöser en kokande animation.
Öppen källkod under Apache License 2.0. Universal Binary för Apple Silicon och Intel-Mac (macOS 14+).
Funktioner
Animerad Dock-ikon
3D-formad gryta renderad med cylindrisk skuggning, kupollock och rejäla loop-handtag. Grytans färg går från vit (sval) till rödorange (95 °C). Lågan under stiger med GPU-användning; mjuka ångpuffar reser sig och tonar bort med fläktvarvtalet (eller temperaturen på fläktlösa Mac-datorer).
Flytande dashboard
Fönster i stil med Activity Monitors "GPU history" med diagram och mätare för GPU, temperatur, fläkt och effekt. Valbart att flyta över andra fönster. Siffrorna växlar vit → gul → röd med risken.
Apple Silicon och Intel
Universal Binary. Valet av sampler styrs av värd-CPU vid körning, så även en Universal Binary med x86_64-snitt som körs under Rosetta får rätt data. Fläktlösa Mac-datorer (MacBook Air M-serien) döljer fläkt-UI automatiskt och låter ångan istället följa temperaturen.
Respekterar Lågeffektläge
Animationen sänks till 5 fps och lågans wiggle-effekt avaktiveras när Lågeffektläge är på, med en statusrad i Inställningar som förklarar åsidosättningen.
Varför inte i App Store?
MacSlowCooker installerar en root-LaunchDaemon-hjälpare (via SMAppService.daemon), startar /usr/bin/powermetrics och läser AppleSMC + IOHIDEventSystem direkt. Alla tre är inkompatibla med App Store Sandbox-reglerna:
- App Store-appar får bara använda
SMAppService.loginItem(på användarnivå), inteSMAppService.daemon(root). - Sandlådan förbjuder att starta
powermetrics(som i sig kräver root). IOHIDEventSystem*ochAppleSMC-användarklienten är privata API:er.
Det är samma anledning till att iStat Menus, Stats och TG Pro distribueras utanför App Store. Distribution via App Store skulle innebära att skala bort det mesta som gör ikonen meningsfull, så MacSlowCooker förblir öppen källkod istället.
Installera
Det finns ingen signerad DMG-version för tillfället. Bygg från källkoden:
git clone https://github.com/hakaru/MacSlowCooker.git
cd MacSlowCooker
# Set your Apple Developer Team ID (the privileged helper validates it)
bin/set-team-id.sh ABC1234XYZ
# Generate the Xcode project and build
brew install xcodegen
xcodegen generate
xcodebuild -project MacSlowCooker.xcodeproj -scheme MacSlowCooker \
-configuration Release -derivedDataPath build build \
CODE_SIGN_STYLE=Automatic DEVELOPMENT_TEAM=ABC1234XYZ \
ONLY_ACTIVE_ARCH=NO
Se CONTRIBUTING.md för hela bygg-/distribuera-/signera-cykeln.
Vanliga frågor
Varför behöver den root?
powermetrics kräver root för att läsa GPU-effekt och termiskt tillstånd. För att hålla huvudappen oprivilegierad delegerar MacSlowCooker provtagningen till en liten root-LaunchDaemon-hjälpare och kommunicerar med den via XPC. Hjälparen avvisar varje anropare vars kodsigneringskrav (Team OU) inte stämmer.
Bromsar den ner min Mac?
CPU-användningen i vila är i princip noll — animatortimern stoppas automatiskt när ikonen inte behöver ändras, och Dock-ikonens uppdatering avdupliceras via en kvantiserad hash. Hjälparens powermetrics-process är samma som Activity Monitor använder internt.
Vad gäller min Intel-Mac / MacBook Air?
Båda stöds. Intel-Mac använder ett annat powermetrics-schema (gpu_busy / busy_ns); parsern hanterar båda. Fläktlösa Mac-datorer (MacBook Air M-serien) döljer fläktdiagrammet automatiskt och ångan följer istället temperaturen.
Kan jag bidra?
Ja — issues och pull requests välkomnas. Se CONTRIBUTING.md.
Kontakt
Frågor eller buggrapporter:
GitHub Issues (föredragen) eller hirose@hakaru.net