Merge remote-tracking branch 'origin/main' into user/migrie/per-window-prequel

This commit is contained in:
Mike Griese
2026-06-03 06:44:20 -05:00
22 changed files with 109 additions and 33 deletions

View File

@@ -1555,6 +1555,7 @@ SLGP
SLIST
slmult
sln
slnf
slnx
slpit
SManifest

45
conhost.slnf Normal file
View File

@@ -0,0 +1,45 @@
{
"solution": {
"path": "OpenConsole.slnx",
"projects": [
"src\\audio\\midi\\lib\\midi.vcxproj",
"src\\buffer\\out\\lib\\bufferout.vcxproj",
"src\\buffer\\out\\ut_textbuffer\\TextBuffer.Unit.Tests.vcxproj",
"src\\host\\exe\\Host.EXE.vcxproj",
"src\\host\\ft_fuzzer\\Host.FuzzWrapper.vcxproj",
"src\\host\\ft_host\\Host.FeatureTests.vcxproj",
"src\\host\\ft_uia\\Host.Tests.UIA.csproj",
"src\\host\\lib\\hostlib.vcxproj",
"src\\host\\proxy\\Host.Proxy.vcxproj",
"src\\host\\ut_host\\Host.UnitTests.vcxproj",
"src\\host\\ut_lib\\host.unittest.vcxproj",
"src\\interactivity\\base\\lib\\InteractivityBase.vcxproj",
"src\\interactivity\\onecore\\lib\\onecore.LIB.vcxproj",
"src\\interactivity\\win32\\lib\\win32.LIB.vcxproj",
"src\\interactivity\\win32\\ut_interactivity_win32\\Interactivity.Win32.UnitTests.vcxproj",
"src\\internal\\internal.vcxproj",
"src\\propsheet\\propsheet.vcxproj",
"src\\propslib\\propslib.vcxproj",
"src\\renderer\\atlas\\atlas.vcxproj",
"src\\renderer\\base\\lib\\base.vcxproj",
"src\\renderer\\gdi\\lib\\gdi.vcxproj",
"src\\renderer\\wddmcon\\lib\\wddmcon.vcxproj",
"src\\server\\lib\\server.vcxproj",
"src\\terminal\\adapter\\lib\\adapter.vcxproj",
"src\\terminal\\adapter\\ut_adapter\\Adapter.UnitTests.vcxproj",
"src\\terminal\\input\\lib\\terminalinput.vcxproj",
"src\\terminal\\parser\\ft_fuzzer\\VTCommandFuzzer.vcxproj",
"src\\terminal\\parser\\ft_fuzzwrapper\\FuzzWrapper.vcxproj",
"src\\terminal\\parser\\lib\\parser.vcxproj",
"src\\terminal\\parser\\ut_parser\\Parser.UnitTests.vcxproj",
"src\\til\\ut_til\\til.unit.tests.vcxproj",
"src\\tools\\nihilist\\Nihilist.vcxproj",
"src\\tsf\\tsf.vcxproj",
"src\\types\\lib\\types.vcxproj",
"src\\types\\ut_types\\Types.Unit.Tests.vcxproj",
"src\\winconpty\\dll\\winconptydll.vcxproj",
"src\\winconpty\\ft_pty\\winconpty.FeatureTests.vcxproj",
"src\\winconpty\\lib\\winconptylib.vcxproj"
]
}
}

View File

@@ -381,6 +381,28 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
_setThemeOnPopups(SettingsSearchBox(), requestedTheme);
}
void MainPage::_AnnounceNavPaneState(bool opened)
{
if (const auto automationPeer{ Automation::Peers::FrameworkElementAutomationPeer::FromElement(SettingsNav()) })
{
automationPeer.RaiseNotificationEvent(
Automation::Peers::AutomationNotificationKind::ActionCompleted,
Automation::Peers::AutomationNotificationProcessing::MostRecent,
opened ? RS_(L"Nav_PaneOpenedAnnouncement") : RS_(L"Nav_PaneClosedAnnouncement"),
L"SettingsNavPaneState");
}
}
void MainPage::SettingsNav_PaneOpened(const MUX::Controls::NavigationView&, const IInspectable&)
{
_AnnounceNavPaneState(true);
}
void MainPage::SettingsNav_PaneClosed(const MUX::Controls::NavigationView&, const IInspectable&)
{
_AnnounceNavPaneState(false);
}
// Function Description:
// - Called when NavigationView items are invoked. Navigates to the corresponding page.
// Arguments:

View File

@@ -56,6 +56,8 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
void SettingsNav_Loaded(const Windows::Foundation::IInspectable& sender, const Windows::UI::Xaml::RoutedEventArgs& args);
void SettingsNav_ItemInvoked(const Microsoft::UI::Xaml::Controls::NavigationView& sender, const Microsoft::UI::Xaml::Controls::NavigationViewItemInvokedEventArgs& args);
void SettingsNav_PaneOpened(const Microsoft::UI::Xaml::Controls::NavigationView& sender, const Windows::Foundation::IInspectable& args);
void SettingsNav_PaneClosed(const Microsoft::UI::Xaml::Controls::NavigationView& sender, const Windows::Foundation::IInspectable& args);
void SaveButton_Click(const Windows::Foundation::IInspectable& sender, const Windows::UI::Xaml::RoutedEventArgs& args);
void ResetButton_Click(const Windows::Foundation::IInspectable& sender, const Windows::UI::Xaml::RoutedEventArgs& args);
void BreadcrumbBar_ItemClicked(const Microsoft::UI::Xaml::Controls::BreadcrumbBar& sender, const Microsoft::UI::Xaml::Controls::BreadcrumbBarItemClickedEventArgs& args);
@@ -100,6 +102,8 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
void _NavigateToColorSchemeHandler(const IInspectable& sender, const IInspectable& args);
Microsoft::UI::Xaml::Controls::NavigationViewItem _FindProfileNavItem(winrt::guid profileGuid) const;
void _AnnounceNavPaneState(bool opened);
void _UpdateBackgroundForMica();
void _MoveXamlParsedNavItemsIntoItemSource();

View File

@@ -68,6 +68,8 @@
IsSettingsVisible="False"
ItemInvoked="SettingsNav_ItemInvoked"
Loaded="SettingsNav_Loaded"
PaneClosed="SettingsNav_PaneClosed"
PaneOpened="SettingsNav_PaneOpened"
TabFocusNavigation="Cycle">
<muxc:NavigationView.Resources>
<ResourceDictionary>

View File

@@ -2394,8 +2394,8 @@
<comment>Accessible name for a control allowing the user to select the icon from a list of built in icons.</comment>
</data>
<data name="Nav_NewTabMenu.Content" xml:space="preserve">
<value>Menü „Neue Registerkarte“</value>
<comment>Header for the "new tab menu" menu item. This navigates to a page that lets you see and modify settings related to the app's new tab menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
<value>Dropdownmenü</value>
<comment>Header for the "dropdown menu" menu item (formerly "new tab menu"). This navigates to a page that lets you see and modify settings related to the app's dropdown menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
</data>
<data name="NewTabMenuEntry_Separator.Text" xml:space="preserve">
<value>&lt;Trennzeichen&gt;</value>

View File

@@ -669,6 +669,14 @@
<value>Startup</value>
<comment>Header for the "startup" menu item. This navigates to a page that lets you see and modify settings related to the app's launch experience (i.e. screen position, mode, etc.)</comment>
</data>
<data name="Nav_PaneOpenedAnnouncement" xml:space="preserve">
<value>Navigation pane opened</value>
<comment>Screen reader announcement made when the user activates the toggle button that opens the settings navigation pane.</comment>
</data>
<data name="Nav_PaneClosedAnnouncement" xml:space="preserve">
<value>Navigation pane closed</value>
<comment>Screen reader announcement made when the user activates the toggle button that closes the settings navigation pane.</comment>
</data>
<data name="Nav_OpenJSON.Content" xml:space="preserve">
<value>Open JSON file</value>
<comment>Header for a menu item. This opens the JSON file that is used to log the app's settings.</comment>

View File

@@ -2394,8 +2394,8 @@
<comment>Accessible name for a control allowing the user to select the icon from a list of built in icons.</comment>
</data>
<data name="Nav_NewTabMenu.Content" xml:space="preserve">
<value>Menú Nueva pestaña</value>
<comment>Header for the "new tab menu" menu item. This navigates to a page that lets you see and modify settings related to the app's new tab menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
<value>Menú desplegable</value>
<comment>Header for the "dropdown menu" menu item (formerly "new tab menu"). This navigates to a page that lets you see and modify settings related to the app's dropdown menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
</data>
<data name="NewTabMenuEntry_Separator.Text" xml:space="preserve">
<value>&lt;Separator&gt;</value>

View File

@@ -2394,8 +2394,8 @@
<comment>Accessible name for a control allowing the user to select the icon from a list of built in icons.</comment>
</data>
<data name="Nav_NewTabMenu.Content" xml:space="preserve">
<value>Menu Nouvel onglet</value>
<comment>Header for the "new tab menu" menu item. This navigates to a page that lets you see and modify settings related to the app's new tab menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
<value>Menu déroulant</value>
<comment>Header for the "dropdown menu" menu item (formerly "new tab menu"). This navigates to a page that lets you see and modify settings related to the app's dropdown menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
</data>
<data name="NewTabMenuEntry_Separator.Text" xml:space="preserve">
<value>&lt;Separator&gt;</value>

View File

@@ -2394,8 +2394,8 @@
<comment>Accessible name for a control allowing the user to select the icon from a list of built in icons.</comment>
</data>
<data name="Nav_NewTabMenu.Content" xml:space="preserve">
<value>Menu Nuova scheda</value>
<comment>Header for the "new tab menu" menu item. This navigates to a page that lets you see and modify settings related to the app's new tab menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
<value>Menu a discesa</value>
<comment>Header for the "dropdown menu" menu item (formerly "new tab menu"). This navigates to a page that lets you see and modify settings related to the app's dropdown menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
</data>
<data name="NewTabMenuEntry_Separator.Text" xml:space="preserve">
<value>&lt;Separator&gt;</value>

View File

@@ -2394,8 +2394,8 @@
<comment>Accessible name for a control allowing the user to select the icon from a list of built in icons.</comment>
</data>
<data name="Nav_NewTabMenu.Content" xml:space="preserve">
<value>新しいタブ メニュー</value>
<comment>Header for the "new tab menu" menu item. This navigates to a page that lets you see and modify settings related to the app's new tab menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
<value>ドロップダウン メニュー</value>
<comment>Header for the "dropdown menu" menu item (formerly "new tab menu"). This navigates to a page that lets you see and modify settings related to the app's dropdown menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
</data>
<data name="NewTabMenuEntry_Separator.Text" xml:space="preserve">
<value>&lt;区切り&gt;</value>

View File

@@ -2394,8 +2394,8 @@
<comment>Accessible name for a control allowing the user to select the icon from a list of built in icons.</comment>
</data>
<data name="Nav_NewTabMenu.Content" xml:space="preserve">
<value>새 탭 메뉴</value>
<comment>Header for the "new tab menu" menu item. This navigates to a page that lets you see and modify settings related to the app's new tab menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
<value>드롭다운 메뉴</value>
<comment>Header for the "dropdown menu" menu item (formerly "new tab menu"). This navigates to a page that lets you see and modify settings related to the app's dropdown menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
</data>
<data name="NewTabMenuEntry_Separator.Text" xml:space="preserve">
<value>&lt;구분 기호&gt;</value>

View File

@@ -2394,8 +2394,8 @@
<comment>Accessible name for a control allowing the user to select the icon from a list of built in icons.</comment>
</data>
<data name="Nav_NewTabMenu.Content" xml:space="preserve">
<value>Menu nova guia</value>
<comment>Header for the "new tab menu" menu item. This navigates to a page that lets you see and modify settings related to the app's new tab menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
<value>Menu Suspenso</value>
<comment>Header for the "dropdown menu" menu item (formerly "new tab menu"). This navigates to a page that lets you see and modify settings related to the app's dropdown menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
</data>
<data name="NewTabMenuEntry_Separator.Text" xml:space="preserve">
<value>&lt;Separador&gt;</value>

View File

@@ -2398,8 +2398,8 @@
<comment>Accessible name for a control allowing the user to select the icon from a list of built in icons.</comment>
</data>
<data name="Nav_NewTabMenu.Content" xml:space="preserve">
<value>Ŋēẁ Ťãь Μëηΰ !!! </value>
<comment>Header for the "new tab menu" menu item. This navigates to a page that lets you see and modify settings related to the app's new tab menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
<value>Ďřόφďőŵⁿ Мεήΰ !!! </value>
<comment>Header for the "dropdown menu" menu item (formerly "new tab menu"). This navigates to a page that lets you see and modify settings related to the app's dropdown menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
</data>
<data name="NewTabMenuEntry_Separator.Text" xml:space="preserve">
<value>&lt;Šєрαяāτоŕ&gt; !!!</value>

View File

@@ -2398,8 +2398,8 @@
<comment>Accessible name for a control allowing the user to select the icon from a list of built in icons.</comment>
</data>
<data name="Nav_NewTabMenu.Content" xml:space="preserve">
<value>Ŋēẁ Ťãь Μëηΰ !!! </value>
<comment>Header for the "new tab menu" menu item. This navigates to a page that lets you see and modify settings related to the app's new tab menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
<value>Ďřόφďőŵⁿ Мεήΰ !!! </value>
<comment>Header for the "dropdown menu" menu item (formerly "new tab menu"). This navigates to a page that lets you see and modify settings related to the app's dropdown menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
</data>
<data name="NewTabMenuEntry_Separator.Text" xml:space="preserve">
<value>&lt;Šєрαяāτоŕ&gt; !!!</value>

View File

@@ -2398,8 +2398,8 @@
<comment>Accessible name for a control allowing the user to select the icon from a list of built in icons.</comment>
</data>
<data name="Nav_NewTabMenu.Content" xml:space="preserve">
<value>Ŋēẁ Ťãь Μëηΰ !!! </value>
<comment>Header for the "new tab menu" menu item. This navigates to a page that lets you see and modify settings related to the app's new tab menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
<value>Ďřόφďőŵⁿ Мεήΰ !!! </value>
<comment>Header for the "dropdown menu" menu item (formerly "new tab menu"). This navigates to a page that lets you see and modify settings related to the app's dropdown menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
</data>
<data name="NewTabMenuEntry_Separator.Text" xml:space="preserve">
<value>&lt;Šєрαяāτоŕ&gt; !!!</value>

View File

@@ -2394,8 +2394,8 @@
<comment>Accessible name for a control allowing the user to select the icon from a list of built in icons.</comment>
</data>
<data name="Nav_NewTabMenu.Content" xml:space="preserve">
<value>Меню “Новая вкладка”</value>
<comment>Header for the "new tab menu" menu item. This navigates to a page that lets you see and modify settings related to the app's new tab menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
<value>Раскрывающееся меню</value>
<comment>Header for the "dropdown menu" menu item (formerly "new tab menu"). This navigates to a page that lets you see and modify settings related to the app's dropdown menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
</data>
<data name="NewTabMenuEntry_Separator.Text" xml:space="preserve">
<value>&lt;Разделитель&gt;</value>

View File

@@ -2394,8 +2394,8 @@
<comment>Accessible name for a control allowing the user to select the icon from a list of built in icons.</comment>
</data>
<data name="Nav_NewTabMenu.Content" xml:space="preserve">
<value>新选项卡菜单</value>
<comment>Header for the "new tab menu" menu item. This navigates to a page that lets you see and modify settings related to the app's new tab menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
<value>下拉菜单</value>
<comment>Header for the "dropdown menu" menu item (formerly "new tab menu"). This navigates to a page that lets you see and modify settings related to the app's dropdown menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
</data>
<data name="NewTabMenuEntry_Separator.Text" xml:space="preserve">
<value>&lt;分隔符&gt;</value>

View File

@@ -2394,8 +2394,8 @@
<comment>Accessible name for a control allowing the user to select the icon from a list of built in icons.</comment>
</data>
<data name="Nav_NewTabMenu.Content" xml:space="preserve">
<value>新增索引標籤功能表</value>
<comment>Header for the "new tab menu" menu item. This navigates to a page that lets you see and modify settings related to the app's new tab menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
<value>下拉式功能表</value>
<comment>Header for the "dropdown menu" menu item (formerly "new tab menu"). This navigates to a page that lets you see and modify settings related to the app's dropdown menu (i.e. profile ordering, nested folders, dividers, etc.)</comment>
</data>
<data name="NewTabMenuEntry_Separator.Text" xml:space="preserve">
<value>&lt;分隔符號&gt;</value>

View File

@@ -122,8 +122,6 @@
Conhost code uses a lot of nameless structs/unions.
C4312: 'type cast': conversion from 'A' to 'B' of greater size
Conhost code converts DWORDs to HANDLEs for instance.
C4467: usage of ATL attributes is deprecated
Conhost code still uses ATL.
C26445: Do not assign std::span or std::string_view to a reference. They are cheap to construct and are not owners of the underlying data. (gsl.view).
Even for MSVC v19.32 this is actually far from true. Copying (as opposed to referencing) larger
than register-sized structures is fairly expensive. Example: https://godbolt.org/z/oPco88PaP
@@ -136,7 +134,7 @@
C26494: Variable 'index' is uninitialized. Always initialize an object (type. 5).
This diagnostic is broken in VS 17.7 which our CI currently uses. It's fixed in 17.8.
-->
<DisableSpecificWarnings>4201;4312;4467;5105;26434;26445;26456;26478;26494;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<DisableSpecificWarnings>4201;4312;5105;26434;26445;26456;26478;26494;%(DisableSpecificWarnings)</DisableSpecificWarnings>
<PreprocessorDefinitions>_WINDOWS;EXTERNAL_BUILD;_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<SDLCheck>true</SDLCheck>
<PrecompiledHeaderFile>precomp.h</PrecompiledHeaderFile>

View File

@@ -56,7 +56,6 @@ Included items must then not match any entries in the exclude list to remain inc
<Exclude>
<Function>^Fabrikam\.UnitTest\..*</Function>
<Function>^std::.*</Function>
<Function>^ATL::.*</Function>
<Function>.*::__GetTestMethodInfo.*</Function>
<Function>^Microsoft::VisualStudio::CppCodeCoverageFramework::.*</Function>
<Function>^Microsoft::VisualStudio::CppUnitTestFramework::.*</Function>
@@ -83,7 +82,6 @@ Included items must then not match any entries in the exclude list to remain inc
<!-- Match the path of the source files in which each method is defined: -->
<Sources>
<Exclude>
<Source>.*\\atlmfc\\.*</Source>
<Source>.*\\vctools\\.*</Source>
<Source>.*\\public\\sdk\\.*</Source>
<Source>.*\\microsoft sdks\\.*</Source>

View File

@@ -56,7 +56,6 @@ Included items must then not match any entries in the exclude list to remain inc
<Exclude>
<Function>^Fabrikam\.UnitTest\..*</Function>
<Function>^std::.*</Function>
<Function>^ATL::.*</Function>
<Function>.*::__GetTestMethodInfo.*</Function>
<Function>^Microsoft::VisualStudio::CppCodeCoverageFramework::.*</Function>
<Function>^Microsoft::VisualStudio::CppUnitTestFramework::.*</Function>
@@ -83,7 +82,6 @@ Included items must then not match any entries in the exclude list to remain inc
<!-- Match the path of the source files in which each method is defined: -->
<Sources>
<Exclude>
<Source>.*\\atlmfc\\.*</Source>
<Source>.*\\vctools\\.*</Source>
<Source>.*\\public\\sdk\\.*</Source>
<Source>.*\\microsoft sdks\\.*</Source>