38 lines
1.3 KiB
Swift
Executable File
38 lines
1.3 KiB
Swift
Executable File
import Cocoa
|
|
import FlutterMacOS
|
|
import window_manager
|
|
import LaunchAtLogin
|
|
|
|
class MainFlutterWindow: NSWindow {
|
|
override func awakeFromNib() {
|
|
let flutterViewController = FlutterViewController()
|
|
let windowFrame = self.frame
|
|
self.contentViewController = flutterViewController
|
|
self.setFrame(windowFrame, display: true)
|
|
|
|
FlutterMethodChannel(
|
|
name: "launch_at_startup", binaryMessenger: flutterViewController.engine.binaryMessenger
|
|
)
|
|
.setMethodCallHandler { (_ call: FlutterMethodCall, result: @escaping FlutterResult) in
|
|
switch call.method {
|
|
case "launchAtStartupIsEnabled":
|
|
result(LaunchAtLogin.isEnabled)
|
|
case "launchAtStartupSetEnabled":
|
|
if let arguments = call.arguments as? [String: Any] {
|
|
LaunchAtLogin.isEnabled = arguments["setEnabledValue"] as! Bool
|
|
}
|
|
result(nil)
|
|
default:
|
|
result(FlutterMethodNotImplemented)
|
|
}
|
|
}
|
|
|
|
RegisterGeneratedPlugins(registry: flutterViewController)
|
|
super.awakeFromNib()
|
|
}
|
|
override public func order(_ place: NSWindow.OrderingMode, relativeTo otherWin: Int) {
|
|
super.order(place, relativeTo: otherWin)
|
|
hiddenWindowAtLaunch()
|
|
}
|
|
}
|