#!/bin/swift
import AppKit

class KeepOnTopWindow: NSWindow {
    override var canBecomeKey: Bool { return true }
    override var canBecomeMain: Bool { return true }
}

let app = NSApplication.shared
app.setActivationPolicy(.regular)

let windowRect = NSRect(x: 100, y: 100, width: 800, height: 600)
let styleMask: NSWindow.StyleMask = [.titled, .resizable, .closable]

let window = KeepOnTopWindow(
    contentRect: windowRect,
    styleMask: styleMask,
    backing: .buffered,
    defer: false
)

window.title = "固定延伸視窗"
window.level = .floating
window.collectionBehavior = [.canJoinAllSpaces, .fullScreenAuxiliary]
window.standardWindowButton(.minimizeButton)?.isEnabled = false

window.makeKeyAndOrderFront(nil)
app.activate(ignoringOtherApps: true)

NotificationCenter.default.addObserver(
    forName: NSWindow.willCloseNotification,
    object: window,
    queue: nil
) { _ in
    NSApp.terminate(nil)
}

app.run()
