@main
struct CapturaApp: App {
-
+
@NSApplicationDelegateAdaptor(CapturaAppDelegate.self) var appDelegate
var body: some Scene {
}
}
-class CapturaAppDelegate: NSObject, NSApplicationDelegate, NSMenuDelegate {
+@objc(CapturaAppDelegate) class CapturaAppDelegate: NSObject, NSApplicationDelegate, NSMenuDelegate {
@Environment(\.openURL) var openURL
var statusItem: NSStatusItem!
var remoteFiles: [CapturaRemoteFile] = []
var captureSessionConfiguration: CaptureSessionConfiguration = CaptureSessionConfiguration()
- @objc var scriptedPreferences: ScriptedPreferences?
+ @objc dynamic var scriptedPreferences: ScriptedPreferences = ScriptedPreferences()
func applicationDidFinishLaunching(_ notification: Notification) {
setupStatusBar()
object: nil)
closeWindow()
fetchRemoteItems()
-
- scriptedPreferences = ScriptedPreferences()
}
// MARK: - Setup Functions
window.close()
}
}
-
+
// MARK: - URL Event Handler
func application(_ application: NSApplication, open urls: [URL]) {
case let .configure(config):
CapturaSettings.apply(config)
case let .record(config):
- let config = CaptureSessionConfiguration(from: config)
- NotificationCenter.default.post(name: .startAreaSelection, object: nil, userInfo: [
+ NotificationCenter.default.post(name: .setCaptureSessionConfiguration, object: nil, userInfo: [
"config": config
])
- NotificationCenter.default.post(name: .startAreaSelection, object: nil, userInfo: nil)
+ NotificationCenter.default.post(name: .startAreaSelection, object: nil, userInfo: nil)
}
}
}