mirror of
https://github.com/ghostty-org/ghostty.git
synced 2025-07-17 09:16:11 +03:00
Merge pull request #1689 from mitchellh/macos-fs
macos: show alert when creating new tab in non-native fs
This commit is contained in:
@ -34,7 +34,7 @@ class TerminalController: NSWindowController, NSWindowDelegate,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/// Fullscreen state management.
|
/// Fullscreen state management.
|
||||||
private let fullscreenHandler = FullScreenHandler()
|
let fullscreenHandler = FullScreenHandler()
|
||||||
|
|
||||||
/// True when an alert is active so we don't overlap multiple.
|
/// True when an alert is active so we don't overlap multiple.
|
||||||
private var alert: NSAlert? = nil
|
private var alert: NSAlert? = nil
|
||||||
|
@ -105,6 +105,19 @@ class TerminalManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private func newTab(to parent: NSWindow, withBaseConfig base: Ghostty.SurfaceConfiguration?) {
|
private func newTab(to parent: NSWindow, withBaseConfig base: Ghostty.SurfaceConfiguration?) {
|
||||||
|
// If our parent is in non-native fullscreen, then new tabs do not work.
|
||||||
|
// See: https://github.com/mitchellh/ghostty/issues/392
|
||||||
|
if let controller = parent.windowController as? TerminalController,
|
||||||
|
controller.fullscreenHandler.isInNonNativeFullscreen {
|
||||||
|
let alert = NSAlert()
|
||||||
|
alert.messageText = "Cannot Create New Tab"
|
||||||
|
alert.informativeText = "New tabs are unsupported while in non-native fullscreen. Exit fullscreen and try again."
|
||||||
|
alert.addButton(withTitle: "OK")
|
||||||
|
alert.alertStyle = .warning
|
||||||
|
alert.beginSheetModal(for: parent)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// Create a new window and add it to the parent
|
// Create a new window and add it to the parent
|
||||||
let controller = createWindow(withBaseConfig: base)
|
let controller = createWindow(withBaseConfig: base)
|
||||||
let window = controller.window!
|
let window = controller.window!
|
||||||
|
Reference in New Issue
Block a user