Skip to content

Repository files navigation

Mac Activity app icon

Mac Activity

CI Localization Docs Links codecov License macOS 13.0+

Stable Pre-release

English localization coverage Deutsch localization coverage Français localization coverage 日本語 localization coverage 한국어 localization coverage 简体中文 localization coverage 繁體中文 localization coverage

Mac Activity is a lightweight macOS menu bar utility that shows live system metrics and opens a compact dashboard for deeper inspection.

It ships as:

  • MacActivityApp: the macOS app that renders the menu bar item and popover dashboard.
  • MacActivityCore: a reusable framework containing metric providers, sampling logic, preferences state, and data formatting.

Features

  • Menu bar summary with configurable metrics.
  • Live popover dashboard with metric cards.
  • Basic network trend visualization (download/upload sparkline).
  • Customizable menu bar metrics and launch behavior.
  • Launch at login toggle.
  • Actives cleanup surface for disk cleanup and process memory.
  • Sparkle-based update checks with release, beta, and alpha channels.
  • Per-metric sampling cadence (fast, medium, slow) and history tracking.
  • Unit tests for core scheduling, summary formatting, preferences, snapshot/history, and dashboard model behavior.

Supported metrics

Implemented providers:

  • CPU usage
  • GPU usage
  • Disk usage
  • Swap usage
  • Memory usage
  • VRAM usage
  • Network throughput (upload/download rates)
  • Battery percentage + charging status
  • Temperature from CPU/SMC or Battery when available
  • Fan speed when available

Requirements

  • macOS 13.0+
  • Xcode 16 (recommended) with Swift 6 toolchain
  • XcodeGen (only needed if you want to regenerate MacActivity.xcodeproj from project.yml)

Getting started

git clone https://github.com/bigtomcat6/mac-activity.git
cd mac-activity

Build in Xcode

  1. Generate the Xcode project if you changed project.yml:
xcodegen generate
  1. Open the project and run the MacActivity scheme.
open MacActivity.xcodeproj

Build / test with SwiftPM

swift test

If swift test fails due to your local Xcode/Swift setup, use Xcode and run the MacActivity test scheme.

Runtime behavior

  • App launches as an accessory app with a menu bar item by default.
  • Clicking the menu bar item opens the dashboard popover.
  • You can disable the menu bar item in Preferences; the app remains reachable until you re-enable it.
  • When launched with menu bar hidden, the app can still be recovered from the preferences flow.

Documentation

Configuration

Open Preferences and you can:

  • Toggle Show menu bar item
  • Toggle Launch at login
  • Choose the display language
  • Choose the update channel and check for updates
  • Choose the temperature source
  • Show hardware battery percentage when available
  • Show app identifiers in Actives process rows
  • Choose Disk Cleanup categories
  • Choose which summary metrics appear in the menu bar

Metric order is stable (CPU -> GPU -> Disk -> Swap -> Memory -> VRAM -> Temperature -> Fan -> Network -> Battery), while some metrics may be hidden when not available on the current machine.

Architecture

The codebase is split into two targets:

  • Sources/MacActivityCore
    • metric snapshot/history model
    • provider protocol and provider implementations
    • scheduler and cadence control
    • formatters and presentation models
    • persistence for user preferences
  • Sources/MacActivityApp
    • status item rendering
    • popover/dashboard UI
    • app lifecycle and activation handling
    • preference window and launch-at-login integration

Contributing

Contributions are welcome.

  • Open an issue describing the problem/idea.
  • Include steps to reproduce for bug fixes.
  • Keep changes scoped and include/update tests for behavior changes.
  • For substantial changes, prefer small incremental PRs.

License

Licensed under the Apache License 2.0.

About

A native macOS menu bar utility for live system metrics and a compact dashboard for CPU, GPU, memory, storage, network, battery, and cleanup workflows.

Topics

Resources

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages