MenuBar Load Runner

Native macOS · Menu bar · Swift + AppKit

Something small is running in your menu bar.

A dog, a horse, a soot sprite, Totoro. It trots when the machine is calm and breaks into a sprint when the system is under load — a live, ambient read on CPU, memory, GPU, network, disk, or fan, tucked into the status bar you already stare at.

Load becomes tempo

Drag the system load. The animation speed is remapped live through the preset's min→max range — exactly how the app maps a 0–1 load fraction to a speed multiplier.

System load22%
Animation speed0.94×
idle · trotting

↑ real preset ranges from gifs/presets.json · self-throttles under Low Power / thermal / memory pressure

Six ways to feel the machine

Load sources
CPU
Usage across all cores, EMA-smoothed. The default rhythm.
Memory
Used fraction combined with live swap activity.
GPU
Device utilization, read straight from IOAccelerator.
Network
Total rx + tx throughput, loopback excluded.
Disk
Read + write bytes/sec across every block device.
Fan
Fan RPM as a share of its max — a lagging read on cooling effort.

Unbounded rates (network / disk / swap) auto-scale to a btop-style adaptive ceiling. Every reader is unprivileged — the app only ever reads load, never adds to it.

The cast

12 built-in presets
Chihiro walking silhouette
Chihiro, walkingchihiro
side-profile walk cycle0.50–2.50×
Running horse silhouette
Horse · defaulthorse-white
Pinterest silhouette0.45–2.30×
Totoro
Totorototoro
from Giphy0.50–2.60×
Running dog silhouette
Dogdog-white
the original runner0.50–2.50×

…plus Horse (Black), Chihiro white/black, Totoro white/black, and a 4-slot-wide Totoro group. Drop in any .gif to make your own.

One file. No Xcode.

Quickstart
zsh — menubar-load-runner
# default preset (horse-white), detached
./menubar-load-runner

# pick a companion + drive it from GPU load
./menubar-load-runner totoro --load-source gpu

# your own gif, 2 slots wide, with a label
./menubar-load-runner ~/run.gif --width 2 --overlay-text CPU

# start at login — no root, no .app bundle
./scripts/install-login-item.sh chihiro

A single Swift source file

The whole app is one .swift file compiled by a zsh launcher with swiftc -O. No Xcode project, no SwiftPM package, no build system to learn.

Vsync-aligned game loop

A CADisplayLink advances frames against real elapsed time and the screen's refresh rate — smooth at any speed, and it pauses itself entirely when the item is occluded.

Data-driven presets

Keyword, menu title, slot width, and speed range all live in presets.json. Add a preset by editing data — zero Swift changes.