Skip to content

Repository files navigation

petze icon

petze

CI

petze — your laptop's health, drawn on the edge of your screen

A tiny macOS menu bar app that shows your laptop's health as thin lines drawn on the edge of your screen. Each line's length is the metric's level; its color tells you how healthy it is. Lines stack from the screen edge inward:

  1. Battery (outermost) — length = charge level
  2. CPU load — length = total CPU usage
  3. Memory used — length = fraction of RAM in use (active + wired + compressed)
  4. Network in / out — log-scaled throughput (each quarter of the line is one decade, 10 KB/s → 100 MB/s)

Display modes

Automatic (default) shows only what matters right now — on a quiet machine that's a single memory line. Other lines appear when they have something to say and retract when the moment passes:

  • Battery appears while charging, or when discharging below ~40%
  • CPU appears when load crosses 60%, retracts once it calms below 45%
  • Network lines appear above ~500 KB/s sustained, retract below 100 KB/s

Entry and exit thresholds differ (hysteresis) so lines don't flicker at the boundary.

Manual lets you pin exactly the lines you want, from the menu bar icon.

Hover for numbers

Move the cursor to the line strip and a small tooltip shows the exact values — and who's responsible:

  • Battery 83% — charging
  • CPU 63%, with the top consumers below (Chrome 34% · Xcode 21%)
  • Memory 63% — 10.1 GB / 16 GB, with the top apps by RAM
  • Net ↓ 8.4 MB/s · Net ↑ 120 KB/s

The overlay stays fully click-through; hovering is detected by watching the cursor position, so no clicks are ever swallowed. Per-app stats are sampled (via ps, and nettop for network) only while the tooltip is visible — network attribution needs two samples 1s apart, so it appears a beat after the others.

The real thing — actual screen pixels, manual mode, all lines pinned (blue battery = full on AC, green CPU = calm, yellow memory = getting warm):

the actual pixels: petze lines over the macOS menu bar

Colors

Battery color = what the battery is doing:

Color Meaning
Green Charging
Blue On AC, not charging (full/held)
Yellow Discharging
Red Discharging, 20% or below

CPU and memory color = how loaded they are: green below 60%, yellow below 85%, red above. Network lines have fixed identities: teal = inbound, purple = outbound.

Menu bar rings

The menu bar icon is a tiny set of activity-style rings — outer = battery, middle = CPU, inner = memory — using the same color language as the lines. Hover it for the exact numbers.

Click the rings for the full picture: a popover with big rings, every metric's exact value, a trend chart of the last hour per metric, and the apps responsible for CPU, memory, and network usage. "More details" expands the per-app lists from the top 3 to the top 8. Quit from the bottom of the popover.

Overlay position

The screen-edge lines are optional. Set where they live (or hide them) via:

defaults write dev.alileza.petze position top        # or: bottom, perimeter, off

top/bottom grow left → right along that edge; perimeter travels clockwise around the screen border from the top-left corner; off hides the lines entirely — the menu bar rings carry the whole signal.

Mode, position, and line toggles are remembered across launches. The overlay is click-through and appears on every connected display and every Space.

Install

Grab the latest petze.dmg, open it, and drag petze into Applications. The app is unsigned (no Apple Developer ID), so on first launch right-click → Open, or allow it under System Settings → Privacy & Security.

To start at login: System Settings → General → Login Items → add petze.

Build & run

swift build -c release
.build/release/petze

./make-dmg.sh builds a universal (Apple Silicon + Intel) drag-install DMG; swift make-icon.swift && iconutil -c icns AppIcon.iconset regenerates the app icon.

Releasing

Releases follow semver and are fully automated: push a vX.Y.Z tag and GitHub Actions builds the universal DMG, verifies the bundle version matches the tag, and publishes the GitHub release with generated notes.

git tag v1.2.3 && git push origin v1.2.3

CI builds the app and DMG on every push and pull request.

Or bundle it as an app (so you can put it in Applications / Login Items):

./make-app.sh
open petze.app

Quit from the menu bar icon → "Quit petze".

About

petze — your laptop's health as thin animated lines on the edge of your screen. Battery, CPU, memory. Native macOS menu bar app.

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages