Files
fx_cast/app/NativeMacReceiverSelector/AppDelegate.swift
2019-08-26 15:00:09 +01:00

55 lines
1.7 KiB
Swift

import Cocoa
class AppDelegate : NSObject, NSApplicationDelegate {
var mainWindow: NSWindow?
var mainWindowController: NSWindowController?
var mainWindowViewController: ViewController?
func applicationDidFinishLaunching (_ aNotification: Notification) {
let window = NSWindow(
contentRect: NSZeroRect
, styleMask: [ .titled, .closable ]
, backing: .buffered
, defer: false)
window.titleVisibility = .hidden
window.isMovableByWindowBackground = true
window.orderFrontRegardless()
if let screen = NSScreen.main {
let windowX = InitDataProvider.shared.data.windowPositionX
let windowY = Int(screen.frame.height - CGFloat(
InitDataProvider.shared.data.windowPositionY))
window.setFrameTopLeftPoint(NSPoint(x: windowX, y: windowY))
}
let windowController = NSWindowController(window: window)
windowController.showWindow(window)
let viewController = ViewController()
window.contentViewController = viewController
window.makeKeyAndOrderFront(self)
self.mainWindow = window
self.mainWindowController = windowController
self.mainWindowViewController = viewController
NSApp.activate(ignoringOtherApps: true)
}
func applicationDidResignActive (_ aNotification: Notification) {
if InitDataProvider.shared.data.closeIfFocusLost {
self.mainWindow?.performClose(aNotification)
}
}
func applicationShouldTerminateAfterLastWindowClosed (
_ app: NSApplication) -> Bool {
return true
}
}