Files
ccs/macos-bar
Kai (Tam Nhu) TranandGitHub 842857dec6 fix(bar): anchor menu panel to top and stop full-screen sizing (#1530)
The dropdown height defaulted to screenCap before the content was measured,
and the ScrollView frame had no alignment, so an unmeasured panel rendered at
nearly full screen height with the content centered in it (macOS then centered
the oversized window). Default to a modest height until measured and pin the
frame to .top, so the popover anchors under the menu bar and sizes to its
content, scrolling only on genuine overflow.
2026-06-15 19:58:00 -04:00
..

CCS Bar (macOS)

Native SwiftUI menu bar app for CCS. A thin client of the CCS local web-server: it glances per-account quota, cost and tier, and performs account control (pause/resume, set default, solo, tier-lock) from the menu bar.

The app never talks to a provider directly. Every call goes to localhost, and CCS performs any provider fetch server-side. Opening the menu fires a debounced force-refresh so the glance reflects live data without blocking the UI.

Layout

  • Sources/CCSBarCore — pure Foundation logic (no SwiftUI): API client, discovery handshake, models, formatting, refresh debounce. Fully unit-tested.
  • Sources/CCSBarApp — SwiftUI MenuBarExtra app: view-model + views.
  • Sources/CCSBarCheck — runnable assert harness used in place of XCTest (XCTest ships with full Xcode; this builds on a CommandLineTools toolchain).

Build and test

Requires a Swift 5.9+ toolchain (CommandLineTools is enough; full Xcode not required for build/test).

swift build                 # build all targets, including the app
swift run ccs-bar-check     # run the logic tests (exits non-zero on failure)

Discovery

The app reads ~/.ccs/bar.json (written by ccs bar launch):

{ "baseUrl": "http://127.0.0.1:3000", "port": 3000, "authMode": "loopback" }

v1 supports authMode: "loopback" only (dashboard auth disabled, localhost).

Packaging

Scripts/package_app.sh assembles CCS Bar.app from a release build and signs it. v1 uses ad-hoc signing (CCS_BAR_SIGNING=adhoc, the default); users open it the first time via right-click then Open, or clear quarantine with xattr -dr com.apple.quarantine "/Applications/CCS Bar.app". Developer ID signing + notarization (CCS_BAR_SIGNING=developer-id) is the public-launch path and is not required for ad-hoc distribution.