macos: move activation to after new window/tab is created
parent
056ccc9818
commit
7d60c7c75b
|
|
@ -957,18 +957,10 @@ class AppDelegate: NSObject,
|
||||||
|
|
||||||
@IBAction func newWindow(_ sender: Any?) {
|
@IBAction func newWindow(_ sender: Any?) {
|
||||||
_ = TerminalController.newWindow(ghostty)
|
_ = TerminalController.newWindow(ghostty)
|
||||||
|
|
||||||
// We also activate our app so that it becomes front. This may be
|
|
||||||
// necessary for the dock menu.
|
|
||||||
NSApp.activate(ignoringOtherApps: true)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@IBAction func newTab(_ sender: Any?) {
|
@IBAction func newTab(_ sender: Any?) {
|
||||||
_ = TerminalController.newTab(ghostty)
|
_ = TerminalController.newTab(ghostty)
|
||||||
|
|
||||||
// We also activate our app so that it becomes front. This may be
|
|
||||||
// necessary for the dock menu.
|
|
||||||
NSApp.activate(ignoringOtherApps: true)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@IBAction func closeAllWindows(_ sender: Any?) {
|
@IBAction func closeAllWindows(_ sender: Any?) {
|
||||||
|
|
|
||||||
|
|
@ -214,10 +214,6 @@ class TerminalController: BaseTerminalController, TabGroupCloseCoordinator.Contr
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// All new_window actions force our app to be active, so that the new
|
|
||||||
// window is focused and visible.
|
|
||||||
NSApp.activate(ignoringOtherApps: true)
|
|
||||||
|
|
||||||
// We're dispatching this async because otherwise the lastCascadePoint doesn't
|
// We're dispatching this async because otherwise the lastCascadePoint doesn't
|
||||||
// take effect. Our best theory is there is some next-event-loop-tick logic
|
// take effect. Our best theory is there is some next-event-loop-tick logic
|
||||||
// that Cocoa is doing that we need to be after.
|
// that Cocoa is doing that we need to be after.
|
||||||
|
|
@ -230,6 +226,10 @@ class TerminalController: BaseTerminalController, TabGroupCloseCoordinator.Contr
|
||||||
}
|
}
|
||||||
|
|
||||||
c.showWindow(self)
|
c.showWindow(self)
|
||||||
|
|
||||||
|
// All new_window actions force our app to be active, so that the new
|
||||||
|
// window is focused and visible.
|
||||||
|
NSApp.activate(ignoringOtherApps: true)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Setup our undo
|
// Setup our undo
|
||||||
|
|
@ -336,6 +336,10 @@ class TerminalController: BaseTerminalController, TabGroupCloseCoordinator.Contr
|
||||||
|
|
||||||
controller.showWindow(self)
|
controller.showWindow(self)
|
||||||
window.makeKeyAndOrderFront(self)
|
window.makeKeyAndOrderFront(self)
|
||||||
|
|
||||||
|
// We also activate our app so that it becomes front. This may be
|
||||||
|
// necessary for the dock menu.
|
||||||
|
NSApp.activate(ignoringOtherApps: true)
|
||||||
}
|
}
|
||||||
|
|
||||||
// It takes an event loop cycle until the macOS tabGroup state becomes
|
// It takes an event loop cycle until the macOS tabGroup state becomes
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue