Chargi is a minimal, focused macOS menu bar app that shows charging status and time remaining, with a floating bubble and a widget. It’s lightweight, private, and stays out of your way.
- Menu bar battery time or icon with charging pulse
- Floating bubble window with status and quick hide/quit
- Home Screen widget for time remaining
- Cache tools with auto-clean rules
- Modern app icon with rotate, clock, and bolt
- Build the app bundle and DMG:
zsh scripts/package_app.sh
- Open the DMG and drag
Chargi.apptoApplications.
- Launch Chargi; it runs as a background agent (
LSUIElement) without a Dock icon. - Use the menu bar icon:
- Toggle
Floating Bubble - Toggle
Widget Content - Toggle
Show Time In Menu Bar Quit
- Toggle
- Right‑click the floating bubble for quick
Hide BubbleandQuit.
- macOS with Xcode Command Line Tools installed (
xcode-select --install). - Uses built‑in macOS tools:
xcodebuild,iconutil,hdiutil.
- Run:
zsh scripts/package_app.sh - Produces:
- App:
dist/Chargi.app - DMG:
dist/Chargi.dmg
- App:
- Open the app:
open dist/Chargi.app
- Create an Xcode project/workspace and add a Widget Extension target.
- In both App and Widget targets, enable App Group
group.chargi.appunder Signing & Capabilities. - Build via script (it auto‑detects project/workspace and copies
.appex):SCHEME=Chargi PROJECT=Chargi.xcodeproj zsh scripts/package_app.sh- or
SCHEME=Chargi WORKSPACE=Chargi.xcworkspace zsh scripts/package_app.sh
- Optional:
CONFIGURATION=Release(default isRelease). - Outputs:
- App:
build/XcodeDerived/Build/Products/Release/Chargi.app - DMG:
dist/Chargi.dmg
- App:
- Icon preparation: converts PNGs into
.icnsand embeds in the bundle.- Preferred: place PNGs in
AppIcon.appiconset/(e.g.,icon-16.png,icon-32.png,icon-64.png,icon-128.png,icon-256.png,icon-512.png,icon-1024.png). - Also supported:
Assets.xcassets/AppIcon.appiconset/orAssets/AppIcon.iconset/. - If assets are missing, the script attempts to generate icons programmatically.
- Preferred: place PNGs in
- Packaging: builds the app, copies any
.appex(widget) intoContents/PlugIns/, and creates the DMG with an/Applicationslink.
SCHEME: Xcode scheme to build (defaultChargi).PROJECT:.xcodeprojpath.WORKSPACE:.xcworkspacepath.CONFIGURATION:ReleaseorDebug(defaultRelease).
- If
Resources/AppIcon.icnsis missing, the script generates a modern icon from vectors and bundles it. - Runtime also sets a fallback drawn icon.
- Chargi runs locally and does not send data anywhere.
- Quit the app, then remove
Applications/Chargi.app.