Skip to content

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

1 star

Watchers

1 watching

Forks

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.

Mac Activity Overview showing live system metrics from the macOS menu bar

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 view for disk cleanup and per-app memory inspection, with quick process termination.
  • 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.

Screenshots

Actives

Inspect application memory usage and disk cleanup status directly from the Mac Activity popover.

Mac Activity Actives view showing application memory usage and disk cleanup status

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

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages