diff --git a/macos/Sources/Features/Terminal/TerminalManager.swift b/macos/Sources/Features/Terminal/TerminalManager.swift index 65ba5b03a..8a6b75322 100644 --- a/macos/Sources/Features/Terminal/TerminalManager.swift +++ b/macos/Sources/Features/Terminal/TerminalManager.swift @@ -78,14 +78,13 @@ class TerminalManager { window.toggleFullScreen(nil) } - c.showWindow(self) - - // Only cascade if we aren't fullscreen. This has to be dispatched async - // because it takes one event loop tick for showWindow to work. - if (!window.styleMask.contains(.fullScreen)) { - DispatchQueue.main.async { + // We're dispatching this async because otherwise the last-cascade-point won't work. + DispatchQueue.main.async { + // Only cascade if we aren't fullscreen. + if (!window.styleMask.contains(.fullScreen)) { Self.lastCascadePoint = window.cascadeTopLeft(from: Self.lastCascadePoint) } + c.showWindow(self) } }