rustdesk/flutter/macos/Runner/MainFlutterWindow.swift

57 lines
2.5 KiB
Swift
Raw Normal View History

import Cocoa
import FlutterMacOS
2022-11-22 23:01:42 +08:00
import desktop_multi_window
// import bitsdojo_window_macos
2022-11-22 23:01:42 +08:00
import desktop_drop
import device_info_plus_macos
import flutter_custom_cursor
import package_info_plus_macos
import path_provider_macos
import screen_retriever
import sqflite
2022-12-02 16:20:46 +08:00
// import tray_manager
2022-11-22 23:01:42 +08:00
import uni_links_desktop
import url_launcher_macos
import wakelock_macos
import window_manager
import window_size
class MainFlutterWindow: NSWindow {
2022-06-02 16:13:34 +08:00
override func awakeFromNib() {
if (!rustdesk_core_main()){
print("Rustdesk core returns false, exiting without launching Flutter app")
NSApplication.shared.terminate(self)
}
let flutterViewController = FlutterViewController.init()
let windowFrame = self.frame
self.contentViewController = flutterViewController
self.setFrame(windowFrame, display: true)
RegisterGeneratedPlugins(registry: flutterViewController)
2022-11-22 23:01:42 +08:00
FlutterMultiWindowPlugin.setOnWindowCreatedCallback { controller in
// Register the plugin which you want access from other isolate.
// DesktopLifecyclePlugin.register(with: controller.registrar(forPlugin: "DesktopLifecyclePlugin"))
DesktopDropPlugin.register(with: controller.registrar(forPlugin: "DesktopDropPlugin"))
DeviceInfoPlusMacosPlugin.register(with: controller.registrar(forPlugin: "DeviceInfoPlusMacosPlugin"))
FlutterCustomCursorPlugin.register(with: controller.registrar(forPlugin: "FlutterCustomCursorPlugin"))
FLTPackageInfoPlusPlugin.register(with: controller.registrar(forPlugin: "FLTPackageInfoPlusPlugin"))
PathProviderPlugin.register(with: controller.registrar(forPlugin: "PathProviderPlugin"))
SqflitePlugin.register(with: controller.registrar(forPlugin: "SqflitePlugin"))
2022-12-02 16:20:46 +08:00
// TrayManagerPlugin.register(with: controller.registrar(forPlugin: "TrayManagerPlugin"))
2022-11-22 23:01:42 +08:00
UniLinksDesktopPlugin.register(with: controller.registrar(forPlugin: "UniLinksDesktopPlugin"))
UrlLauncherPlugin.register(with: controller.registrar(forPlugin: "UrlLauncherPlugin"))
WakelockMacosPlugin.register(with: controller.registrar(forPlugin: "WakelockMacosPlugin"))
WindowSizePlugin.register(with: controller.registrar(forPlugin: "WindowSizePlugin"))
}
2022-06-02 16:13:34 +08:00
super.awakeFromNib()
}
override public func order(_ place: NSWindow.OrderingMode, relativeTo otherWin: Int) {
super.order(place, relativeTo: otherWin)
hiddenWindowAtLaunch()
}
}