diff --git a/src/cascadia/TerminalApp/TerminalPage.cpp b/src/cascadia/TerminalApp/TerminalPage.cpp index e70ea40ab83..287d463f171 100644 --- a/src/cascadia/TerminalApp/TerminalPage.cpp +++ b/src/cascadia/TerminalApp/TerminalPage.cpp @@ -2731,6 +2731,11 @@ namespace winrt::TerminalApp::implementation { PreparedContent preppedContent; _evaluateSettings(newTerminalArgs, duplicate, preppedContent.controlSettings, preppedContent.profile); + + // If the NewTerminalArgs had a content guid in there, then we don't + // have to start a new one. _AttachToContentProcess will give us an + // "Async" callback that will actually just immediately connect to the + // given content proc preppedContent.initContentProc = (newTerminalArgs && newTerminalArgs.ContentGuid() != winrt::guid{}) ? _AttachToContentProcess(newTerminalArgs.ContentGuid()) : _CreateNewContentProcess(preppedContent.profile, preppedContent.controlSettings); diff --git a/src/cascadia/TerminalSettingsModel/ActionArgs.h b/src/cascadia/TerminalSettingsModel/ActionArgs.h index 45be57757d8..2eb63b88d42 100644 --- a/src/cascadia/TerminalSettingsModel/ActionArgs.h +++ b/src/cascadia/TerminalSettingsModel/ActionArgs.h @@ -338,6 +338,10 @@ namespace winrt::Microsoft::Terminal::Settings::Model::implementation JsonUtils::SetValueForKey(json, SuppressApplicationTitleKey, args->_SuppressApplicationTitle); JsonUtils::SetValueForKey(json, ColorSchemeKey, args->_ColorScheme); JsonUtils::SetValueForKey(json, ElevateKey, args->_Elevate); + + // TODO! We should probably have the ContentGuid be optional, or at + // least serialized smarter, so we definitely don't write it to the + // file, ever. JsonUtils::SetValueForKey(json, ContentKey, args->_ContentGuid); return json; }