A macOS menu-bar app that displays real-time git repository status in floating borderless windows.
- Live git status — current branch, latest commit, staged/unstaged/untracked changes with addition and deletion counts
- Ahead/behind tracking — shows commits ahead (green) and behind (red) relative to a configurable base branch
- Visual git graph — color-coded branch history with uncommitted changes shown above HEAD (like tig)
- Multiple windows — monitor several repositories simultaneously
- Floating borderless windows — drag to reposition, click to choose a directory, right-click for options
- Adjustable transparency — per-window opacity slider from 10% to 100%
- Branch switching — browse and select local and remote branches from the context menu
- Persistent state — window positions, sizes, opacity, and directories are saved and restored across launches
- Auto-refresh — polls git data every 2 seconds
- No dock icon — runs entirely in the menu bar
Requires Xcode with Swift 6 and macOS 15.7 SDK. No third-party dependencies.
open DirStatApp.xcodeproj
Build and run from Xcode (Cmd+R).
Key build settings:
- App Sandbox is disabled (required for running git via
Process) - Hardened Runtime is enabled
LSUIElement = YES(menu-bar-only app)
- Launch the app — a status item appears in the menu bar
- Click the menu bar icon to open a new window or manage existing ones
- Click a window to choose a git repository directory
- Drag a window to reposition it
- Right-click a window for options: transparency, branches, new/close window
- macOS 15.7 or later
- Git installed on the system