Skip to content

feat(mac): menu bar item with the running lecture - #56

Merged
502Proxy merged 4 commits into
mainfrom
feat/menu-bar
Oct 28, 2026
Merged

502Proxy merged 4 commits into
mainfrom
feat/menu-bar

Conversation

@502Proxy

Copy link
Copy Markdown
Owner

Closes #46

What changes and why?

StudyApp in the menu bar. One commit per change:

  1. Content: MenuBarSummary (pure: running or next lecture with „noch 38 Min.“ / „um 14:15“ / „morgen …“, due cards), MenuBarLabel (icon, plus remaining minutes while a lecture runs), MenuBarContent (lecture with progress and „Folien öffnen“, due cards, open app, quit)
  2. Scene: MenuBarExtra in window style; clicks bring the main window to the front and navigate. Toggle in Settings → Allgemein (on by default).
  3. Docs: FEATURES.md

The study timer from #55 is not part of this PR to keep the PRs independent; once #55 is merged, a small follow-up adds the timer to the menu bar window.

Tests

  • MenuBarSummaryTests (title only while live, start text today/tomorrow)
  • 165 tests pass locally (Linux subset); SwiftLint clean

Checklist

  • Linked issue, labels and milestone set
  • New logic has tests
  • Tried in the app (light and dark menu bar)
  • Release notes: collected in the 1.12 release PR

Generated by Claude Code

MenuBarSummary condenses the running (or next) lecture with remaining
time and the due flashcards; MenuBarLabel shows the remaining minutes
next to the icon while a lecture runs, and MenuBarContent offers
„Folien öffnen“, the due cards, opening the app and quitting.

Refs #46

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TmmqmKmX8VDSfoPbzTS1ew
A MenuBarExtra (window style) brings the main window to the front and
opens the lecture's slides or the module with the most due cards. It
can be turned off in Settings → Allgemein.

Refs #46

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TmmqmKmX8VDSfoPbzTS1ew
Refs #46

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TmmqmKmX8VDSfoPbzTS1ew
@502Proxy 502Proxy added this to the 1.12 milestone Oct 28, 2026 — with Claude
@502Proxy 502Proxy added enhancement New feature or improvement area: mac Menu bar, widgets, Shortcuts, Spotlight labels Oct 28, 2026 — with Claude

Copy link
Copy Markdown
Owner Author

CI: „Build & Tests (macOS)“ ist fehlgeschlagen mit „The test runner hung before establishing connection“. Der Runner hing, bevor ein Test lief, also ein Infrastrukturfehler und nicht der Code dieses PRs (SwiftLint, Release-Voraussetzungen und commitlint sind grün). Einen Fix gibt es nicht, der Job wurde einmal neu gestartet.


Generated by Claude Code

The status item blocked the test host's launch on CI, so the test runner
never connected. Refs #46

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TmmqmKmX8VDSfoPbzTS1ew
@502Proxy
502Proxy merged commit fd5824c into main Oct 28, 2026
3 of 4 checks passed

Copy link
Copy Markdown
Owner Author

Nachtrag: Auch der Neustart ist mit „test runner hung“ fehlgeschlagen. Der Fehler gehört also zu diesem PR. Ausblenden des Symbols im Test-Host (c0b9320) hat nicht geholfen, das ist zurückgenommen. Neuer Fix: Der App-body liest Kalender und fällige Karten nicht mehr direkt. Das macht jetzt eine kleine MenuBarSummaryReader-View, sonst würde jede Änderung alle Szenen neu aufbauen, schon beim Start. Logs und xcresult sind von hier aus nicht abrufbar. Falls die CI wieder hängt, bitte das Tests.xcresult-Artefakt lokal öffnen.


Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: mac Menu bar, widgets, Shortcuts, Spotlight enhancement New feature or improvement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(mac): menu bar item with the running lecture

2 participants