diff --git a/src/cascadia/TerminalSettingsEditor/ActionsViewModel.cpp b/src/cascadia/TerminalSettingsEditor/ActionsViewModel.cpp index 33926c8372..5f0526cf38 100644 --- a/src/cascadia/TerminalSettingsEditor/ActionsViewModel.cpp +++ b/src/cascadia/TerminalSettingsEditor/ActionsViewModel.cpp @@ -266,9 +266,11 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation void CommandViewModel::Name(const winrt::hstring& newName) { - if (!newName.empty()) + _command.Name(newName); + if (newName.empty()) { - _command.Name(newName); + // if the name was cleared, refresh the DisplayName + _NotifyChanges(L"DisplayName"); } } diff --git a/src/cascadia/TerminalSettingsModel/Command.cpp b/src/cascadia/TerminalSettingsModel/Command.cpp index 46c4ea2d72..883bd897cc 100644 --- a/src/cascadia/TerminalSettingsModel/Command.cpp +++ b/src/cascadia/TerminalSettingsModel/Command.cpp @@ -157,7 +157,14 @@ namespace winrt::Microsoft::Terminal::Settings::Model::implementation { if (!_name.has_value() || _name.value() != value) { - _name = value; + if (value.empty()) + { + _name = std::nullopt; + } + else + { + _name = value; + } } }