fix(mac): move action group below toggles

This commit is contained in:
Peter Steinberger
2025-12-26 20:31:28 +00:00
parent ba1626a5b9
commit 7f4c992dd7
2 changed files with 38 additions and 39 deletions

View File

@@ -51,6 +51,15 @@ struct MenuContent: View {
if self.showVoiceWakeMicPicker { if self.showVoiceWakeMicPicker {
self.voiceWakeMicMenu self.voiceWakeMicMenu
} }
Toggle(
isOn: Binding(
get: { self.browserControlEnabled },
set: { enabled in
self.browserControlEnabled = enabled
ClawdisConfigFile.setBrowserControlEnabled(enabled)
})) {
Label("Browser Control", systemImage: "globe")
}
Toggle(isOn: Binding(get: { self.state.canvasEnabled }, set: { self.state.canvasEnabled = $0 })) { Toggle(isOn: Binding(get: { self.state.canvasEnabled }, set: { self.state.canvasEnabled = $0 })) {
Label("Allow Canvas", systemImage: "rectangle.and.pencil.and.ellipsis") Label("Allow Canvas", systemImage: "rectangle.and.pencil.and.ellipsis")
} }
@@ -59,7 +68,22 @@ struct MenuContent: View {
CanvasManager.shared.hideAll() CanvasManager.shared.hideAll()
} }
} }
if self.state.canvasEnabled { Divider()
Button {
Task { @MainActor in
await self.openDashboard()
}
} label: {
Label("Open Dashboard", systemImage: "gauge")
}
Button {
Task { @MainActor in
let sessionKey = await WebChatManager.shared.preferredSessionKey()
WebChatManager.shared.show(sessionKey: sessionKey)
}
} label: {
Label("Open Chat", systemImage: "bubble.left.and.bubble.right")
}
Button { Button {
if self.state.canvasPanelVisible { if self.state.canvasPanelVisible {
CanvasManager.shared.hideAll() CanvasManager.shared.hideAll()
@@ -72,33 +96,7 @@ struct MenuContent: View {
self.state.canvasPanelVisible ? "Close Canvas" : "Open Canvas", self.state.canvasPanelVisible ? "Close Canvas" : "Open Canvas",
systemImage: "rectangle.inset.filled.on.rectangle") systemImage: "rectangle.inset.filled.on.rectangle")
} }
} .disabled(!self.state.canvasEnabled)
Divider()
Button {
Task { @MainActor in
let sessionKey = await WebChatManager.shared.preferredSessionKey()
WebChatManager.shared.show(sessionKey: sessionKey)
}
} label: {
Label("Open Chat", systemImage: "bubble.left.and.bubble.right")
}
Button {
Task { @MainActor in
await self.openDashboard()
}
} label: {
Label("Open Dashboard", systemImage: "gauge")
}
Divider()
Toggle(
isOn: Binding(
get: { self.browserControlEnabled },
set: { enabled in
self.browserControlEnabled = enabled
ClawdisConfigFile.setBrowserControlEnabled(enabled)
})) {
Label("Browser Control", systemImage: "globe")
}
Divider() Divider()
Button("Settings…") { self.open(tab: .general) } Button("Settings…") { self.open(tab: .general) }
.keyboardShortcut(",", modifiers: [.command]) .keyboardShortcut(",", modifiers: [.command])

View File

@@ -426,6 +426,7 @@ final class MenuSessionsInjector: NSObject, NSMenuDelegate {
private func buildNodeSubmenu(entry: InstanceInfo) -> NSMenu { private func buildNodeSubmenu(entry: InstanceInfo) -> NSMenu {
let menu = NSMenu() let menu = NSMenu()
menu.autoenablesItems = false
menu.addItem(self.makeNodeCopyItem(label: "ID", value: entry.id)) menu.addItem(self.makeNodeCopyItem(label: "ID", value: entry.id))