From e6ac4234337be0afe85f13d17c1a085caf32b220 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 14 May 2026 19:34:12 +0000 Subject: [PATCH 1/2] =?UTF-8?q?Add=20"Add=20Note=E2=80=A6"=20menu=20bar=20?= =?UTF-8?q?action=20as=20hotkey=20fallback?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds a menu bar row that appears during an active recording session, giving users a click-to-trigger alternative to the global hotkey (Ctrl+Shift+N) when they can't reach the keyboard shortcut. https://claude.ai/code/session_017fXYbaBhvbqa3Sug4wa9Nu --- Sources/HeardCore/Views.swift | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Sources/HeardCore/Views.swift b/Sources/HeardCore/Views.swift index 7cc9818..be83282 100644 --- a/Sources/HeardCore/Views.swift +++ b/Sources/HeardCore/Views.swift @@ -350,6 +350,12 @@ public struct MenuBarView: View { } } + if recordingManager.activeSession != nil { + MenuBarRow(title: "Add Note…", icon: "square.and.pencil") { + model.presentMeetingNoteComposer() + } + } + if settingsStore.settings.dictationEnabled && !model.isDictating && recordingManager.activeSession == nil { MenuBarRow(title: "Start Dictation", icon: "mic.badge.plus") { From 7690ed7f9628d9fdf6e515916e8a5e9eb35cf933 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 15 May 2026 02:10:38 +0000 Subject: [PATCH 2/2] Show hotkey hint beside Add Note and Start Dictation menu bar rows MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds an optional `hotkey` label to MenuBarRow that renders the shortcut string (e.g. ⌃⇧N, ⌃⇧D) in muted monospaced text on the trailing edge. Wires it up for "Add Note…" and "Start Dictation" using the user's configured HotkeyCombo.displayString so custom hotkeys stay in sync. https://claude.ai/code/session_017fXYbaBhvbqa3Sug4wa9Nu --- Sources/HeardCore/Views.swift | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/Sources/HeardCore/Views.swift b/Sources/HeardCore/Views.swift index be83282..91d540b 100644 --- a/Sources/HeardCore/Views.swift +++ b/Sources/HeardCore/Views.swift @@ -351,14 +351,22 @@ public struct MenuBarView: View { } if recordingManager.activeSession != nil { - MenuBarRow(title: "Add Note…", icon: "square.and.pencil") { + MenuBarRow( + title: "Add Note…", + icon: "square.and.pencil", + hotkey: settingsStore.settings.meetingNoteHotkey.displayString + ) { model.presentMeetingNoteComposer() } } if settingsStore.settings.dictationEnabled && !model.isDictating && recordingManager.activeSession == nil { - MenuBarRow(title: "Start Dictation", icon: "mic.badge.plus") { + MenuBarRow( + title: "Start Dictation", + icon: "mic.badge.plus", + hotkey: settingsStore.settings.dictationHotkey.displayString + ) { model.toggleDictation() } } @@ -647,6 +655,7 @@ private struct MenuBarRow: View { let title: String let icon: String var accent: Bool = false + var hotkey: String? = nil let action: () -> Void var body: some View { @@ -660,6 +669,11 @@ private struct MenuBarRow: View { .font(.system(size: 12, weight: .medium)) .foregroundStyle(accent ? HeardTheme.Paper.accent : HeardTheme.Paper.ink) Spacer() + if let hotkey { + Text(hotkey) + .font(.system(size: 11, design: .monospaced)) + .foregroundStyle(HeardTheme.Paper.mute) + } } .contentShape(Rectangle()) .padding(.horizontal, 8)