mirror of
https://github.com/rustdesk/rustdesk.git
synced 2024-12-15 20:19:05 +08:00
56 lines
2.5 KiB
Swift
56 lines
2.5 KiB
Swift
import Cocoa
|
|
import FlutterMacOS
|
|
import desktop_multi_window
|
|
// import bitsdojo_window_macos
|
|
|
|
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
|
|
// import tray_manager
|
|
import uni_links_desktop
|
|
import url_launcher_macos
|
|
import wakelock_macos
|
|
import window_manager
|
|
import window_size
|
|
|
|
class MainFlutterWindow: NSWindow {
|
|
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)
|
|
|
|
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"))
|
|
// TrayManagerPlugin.register(with: controller.registrar(forPlugin: "TrayManagerPlugin"))
|
|
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"))
|
|
}
|
|
|
|
super.awakeFromNib()
|
|
}
|
|
|
|
// override func bitsdojo_window_configure() -> UInt {
|
|
// return BDW_CUSTOM_FRAME | BDW_HIDE_ON_STARTUP
|
|
// }
|
|
}
|