mirror of
https://github.com/ghostty-org/ghostty.git
synced 2026-05-01 03:14:40 +00:00
config: if window-save-state is never, never restore state
This commit is contained in:
@@ -48,12 +48,6 @@ class TerminalWindowRestoration: NSObject, NSWindowRestoration {
|
||||
return
|
||||
}
|
||||
|
||||
// Decode the state. If we can't decode the state, then we can't restore.
|
||||
guard let state = TerminalRestorableState(coder: state) else {
|
||||
completionHandler(nil, RestoreError.stateDecodeFailed)
|
||||
return
|
||||
}
|
||||
|
||||
// The app delegate is definitely setup by now. If it isn't our AppDelegate
|
||||
// then something is royally fucked up but protect against it anyhow.
|
||||
guard let appDelegate = NSApplication.shared.delegate as? AppDelegate else {
|
||||
@@ -61,6 +55,19 @@ class TerminalWindowRestoration: NSObject, NSWindowRestoration {
|
||||
return
|
||||
}
|
||||
|
||||
// If our configuration is "never" then we never restore the state
|
||||
// no matter what.
|
||||
if (appDelegate.terminalManager.ghostty.windowSaveState == "never") {
|
||||
completionHandler(nil, nil)
|
||||
return
|
||||
}
|
||||
|
||||
// Decode the state. If we can't decode the state, then we can't restore.
|
||||
guard let state = TerminalRestorableState(coder: state) else {
|
||||
completionHandler(nil, RestoreError.stateDecodeFailed)
|
||||
return
|
||||
}
|
||||
|
||||
// The window creation has to go through our terminalManager so that it
|
||||
// can be found for events from libghostty. This uses the low-level
|
||||
// createWindow so that AppKit can place the window wherever it should
|
||||
|
||||
Reference in New Issue
Block a user