import Foundation import Cocoa enum QuickTerminalSpaceBehavior { case remain case move init?(fromGhosttyConfig string: String) { switch (string) { case "move": self = .move case "remain": self = .remain default: return nil } } var collectionBehavior: NSWindow.CollectionBehavior { let commonBehavior: [NSWindow.CollectionBehavior] = [ .ignoresCycle, .fullScreenAuxiliary ] switch (self) { case .move: // We want this to move the window to the active space. return NSWindow.CollectionBehavior([.canJoinAllSpaces] + commonBehavior) case .remain: // We want this to remain the window in the current space. return NSWindow.CollectionBehavior([.moveToActiveSpace] + commonBehavior) } } }