From a36175302ebafae9312862a8c6a4d74710651963 Mon Sep 17 00:00:00 2001 From: Wojtek Mach Date: Tue, 20 Jun 2023 13:41:41 +0200 Subject: [PATCH] up --- rel/app/macos/Sources/Livebook/Livebook.swift | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/rel/app/macos/Sources/Livebook/Livebook.swift b/rel/app/macos/Sources/Livebook/Livebook.swift index de315ff64..2e419ffad 100644 --- a/rel/app/macos/Sources/Livebook/Livebook.swift +++ b/rel/app/macos/Sources/Livebook/Livebook.swift @@ -1,7 +1,10 @@ import AppKit -import AppIntents import ElixirKit +#if canImport(AppIntents) + import AppIntents +#endif + @main public struct Livebook { public static func main() { @@ -73,10 +76,16 @@ class AppDelegate: NSObject, NSApplicationDelegate { NSMenuItem(title: "Open", action: #selector(open), keyEquivalent: "o"), copyURLItem, NSMenuItem(title: "View Logs", action: #selector(viewLogs), keyEquivalent: "l"), - NSMenuItem(title: "Add \"New Notebook\" Shortcut", action: #selector(addNewNotebookShortcut), keyEquivalent: ""), - NSMenuItem(title: "Settings", action: #selector(openSettings), keyEquivalent: ","), - NSMenuItem(title: "Quit", action: #selector(NSApplication.terminate(_:)), keyEquivalent: "q") ] + + if #available(macOS 13, *) { + menu.items.append( + NSMenuItem(title: "Add \"New Notebook\" Shortcut", action: #selector(addNewNotebookShortcut), keyEquivalent: "") + ) + } + + menu.items.append(NSMenuItem(title: "Settings", action: #selector(openSettings), keyEquivalent: ",")) + menu.items.append(NSMenuItem(title: "Quit", action: #selector(NSApplication.terminate(_:)), keyEquivalent: "q")) statusItem.menu = menu ElixirKit.API.addObserver(queue: .main) { (name, data) in @@ -139,6 +148,7 @@ class AppDelegate: NSObject, NSApplicationDelegate { } } +@available(macOS 13, *) struct NewNotebookIntent: AppIntent { static var title: LocalizedStringResource = "Create New Livebook" @@ -153,7 +163,7 @@ struct NewNotebookIntent: AppIntent { ElixirKit.API.publish("open", "/new") } else { - ElixirKit.API.initialUrls = [URL(string: "/new")!] + /* (NSApplication.shared.delegate).initialUrls = [URL(string: "/new")!] */ } return .result(value: "ok")