import AppKit
import Foundation

let sampleWindowTitle = "Aligner Round01 Minimized QA Sample"
let holdSeconds = TimeInterval(CommandLine.arguments.dropFirst().first ?? "8.0") ?? 8.0

final class AppDelegate: NSObject, NSApplicationDelegate {
    private var window: NSWindow?

    func applicationDidFinishLaunching(_ notification: Notification) {
        let window = NSWindow(
            contentRect: NSRect(x: 100, y: 100, width: 480, height: 320),
            styleMask: [.titled, .closable, .miniaturizable, .resizable],
            backing: .buffered,
            defer: false
        )
        window.title = sampleWindowTitle
        window.center()
        window.orderFrontRegardless()
        self.window = window

        DispatchQueue.main.asyncAfter(deadline: .now() + 0.8) {
            window.miniaturize(nil)
        }
        DispatchQueue.main.asyncAfter(deadline: .now() + holdSeconds) {
            NSApp.terminate(nil)
        }
    }
}

let app = NSApplication.shared
let delegate = AppDelegate()
app.delegate = delegate
app.setActivationPolicy(.regular)
app.run()
