import AppKit import SwiftTerm import SwiftUI typealias ViewState = State @main struct ByreApp: App { @ViewState private var server = Server() var body: some Scene { Window("byre", id: "main") { SpikeView() .environment(server) .font(Fonts.font(13)) .onAppear { installCtrlMonitor(server) } } .commands { PasteboardCommands() } } } @MainActor private func installCtrlMonitor(_ server: Server) { NSEvent.addLocalMonitorForEvents(matching: .keyDown) { event in let flags = event.modifierFlags.intersection(.deviceIndependentFlagsMask) guard flags.contains(.control), !flags.contains(.command), let key = event.charactersIgnoringModifiers, ["k", "p", "l", "s", "/"].contains(key) else { return event } if event.window?.firstResponder is TerminalView { server.log("ctrl-\(key) passed to the terminal") return event } server.log("ctrl-\(key) taken as a Go shortcut") return nil } }