diff --git a/features/conversation-assistant/macos/Sources/Views/MenuBarView.swift b/features/conversation-assistant/macos/Sources/Views/MenuBarView.swift index 7cde10cb7..057fa4340 100644 --- a/features/conversation-assistant/macos/Sources/Views/MenuBarView.swift +++ b/features/conversation-assistant/macos/Sources/Views/MenuBarView.swift @@ -29,13 +29,27 @@ struct MenuBarView: View { // Footer HStack { - // SettingsLink automatically opens the Settings scene (macOS 13+) - // The popover closes automatically due to .transient behavior - SettingsLink { - Image(systemName: "gear") - .accessibilityLabel("Settings") + // Open Settings - use SettingsLink on macOS 14+, fallback to NSApp.sendAction + if #available(macOS 14, *) { + SettingsLink { + Image(systemName: "gear") + .accessibilityLabel("Settings") + } + .buttonStyle(.borderless) + } else { + Button { + // Close popover first + if let appDelegate = NSApp.delegate as? AppDelegate { + appDelegate.closePopover() + } + NSApp.activate(ignoringOtherApps: true) + NSApp.sendAction(Selector(("showPreferencesWindow:")), to: nil, from: nil) + } label: { + Image(systemName: "gear") + .accessibilityLabel("Settings") + } + .buttonStyle(.borderless) } - .buttonStyle(.borderless) Spacer()