From 333f3c05fc993eb714a17bebfcb5f6c7ff6d8c65 Mon Sep 17 00:00:00 2001 From: Mike Griese Date: Tue, 16 Jun 2026 16:41:10 -0500 Subject: [PATCH] SUI saving too --- .../TerminalSettingsModel/CascadiaSettings.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/cascadia/TerminalSettingsModel/CascadiaSettings.cpp b/src/cascadia/TerminalSettingsModel/CascadiaSettings.cpp index ba0a4cb7c7..a172a4d528 100644 --- a/src/cascadia/TerminalSettingsModel/CascadiaSettings.cpp +++ b/src/cascadia/TerminalSettingsModel/CascadiaSettings.cpp @@ -112,6 +112,20 @@ Model::CascadiaSettings CascadiaSettings::Copy() const settings->_globals = _globals->Copy(); settings->_baseWindowSettings = _baseWindowSettings->Copy(); + + // Copy the per-window-name settings, otherwise saving from the settings + // UI would drop the entire "windows" + settings->_windows = winrt::single_threaded_map(); + for (const auto& [name, window] : _windows) + { + const auto windowImpl{ winrt::get_self(window) }; + settings->_windows.Insert(name, *windowImpl->Copy()); + } + if (_quakeWindowSettings) + { + settings->_quakeWindowSettings = _quakeWindowSettings->Copy(); + } + settings->_allProfiles = winrt::single_threaded_observable_vector(std::move(allProfiles)); settings->_activeProfiles = winrt::single_threaded_observable_vector(std::move(activeProfiles));