Skip to content

Menubar polish: Start at Login, packets/s rate, single-source version - #10

Merged
mlstr0m merged 1 commit into
mainfrom
feat/menubar-polish
Jul 14, 2026
Merged

Menubar polish: Start at Login, packets/s rate, single-source version#10
mlstr0m merged 1 commit into
mainfrom
feat/menubar-polish

Conversation

@mlstr0m

@mlstr0m mlstr0m commented Jul 14, 2026

Copy link
Copy Markdown
Owner

Summary

  • Start at Login menu toggle using SMAppService (macOS 13+). Defensive: only active inside a bundled .app (sys.frozen), greyed out in dev mode, registration errors shown in an alert, checkmark synced from the real service status.
  • Detail line shows a live packets/s rate (clamped ≥ 0 across reconnects).
  • APP_VERSION is now single-sourced from Switch2Bridge.pysetup_app.py reads it by regex (no import side effects) and build_dmg.sh by sed; a version item sits at the bottom of the menu.

Test plan

  • Both headless suites pass locally; CI runs them on this PR.
  • Version extraction verified: regex and sed both yield 1.2.0; pyobjc-framework-ServiceManagement imports cleanly.
  • ⚠️ The actual login-item registration needs a manual test from the bundled .app (can't be exercised headless) — the code path degrades safely everywhere else.

🤖 Generated with Claude Code

- "Start at Login" toggle via SMAppService (macOS 13+); enabled only when
  running from a bundled .app (py2app sys.frozen), disabled in dev mode,
  errors surfaced as an alert; new pyobjc-framework-ServiceManagement dep
- Detail line now shows a live packets/s rate next to the counter
- APP_VERSION in Switch2Bridge.py is the single source of truth: read by
  setup_app.py (regex, no import side effects) and build_dmg.sh (sed);
  version shown at the bottom of the menu

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@mlstr0m
mlstr0m merged commit 4d903c9 into main Jul 14, 2026
2 checks passed
@mlstr0m
mlstr0m deleted the feat/menubar-polish branch July 14, 2026 13:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant