diff --git a/OpenConsole.sln b/OpenConsole.sln
index 1a48fa2a00..5c2b55ccd4 100644
--- a/OpenConsole.sln
+++ b/OpenConsole.sln
@@ -239,8 +239,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Shared", "Shared", "{89CDCC
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Types.Unit.Tests", "src\types\ut_types\Types.Unit.Tests.vcxproj", "{34DE34D3-1CD6-4EE3-8BD9-A26B5B27EC73}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PublicTerminalCore", "src\cascadia\PublicTerminalCore\PublicTerminalCore.vcxproj", "{84848BFA-931D-42CE-9ADF-01EE54DE7890}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WpfTerminalControl", "src\cascadia\WpfTerminalControl\WpfTerminalControl.csproj", "{376FE273-6B84-4EB5-8B30-8DE9D21B022C}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnitTests_TerminalApp", "src\cascadia\ut_app\TerminalApp.UnitTests.vcxproj", "{CA5CAD1A-9333-4D05-B12A-1905CBF112F9}"
@@ -334,7 +332,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "fmt", "src\dep\fmt\fmt.vcxp
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WpfTerminalTestNetCore", "src\cascadia\WpfTerminalTestNetCore\WpfTerminalTestNetCore.csproj", "{1588FD7C-241E-4E7D-9113-43735F3E6BAD}"
ProjectSection(ProjectDependencies) = postProject
- {84848BFA-931D-42CE-9ADF-01EE54DE7890} = {84848BFA-931D-42CE-9ADF-01EE54DE7890}
+ {CA5CAD1A-F542-4635-A069-7CAEFB930070} = {CA5CAD1A-F542-4635-A069-7CAEFB930070}
{A22EC5F6-7851-4B88-AC52-47249D437A52} = {A22EC5F6-7851-4B88-AC52-47249D437A52}
EndProjectSection
EndProject
@@ -1711,34 +1709,6 @@ Global
{34DE34D3-1CD6-4EE3-8BD9-A26B5B27EC73}.Release|x64.Build.0 = Release|x64
{34DE34D3-1CD6-4EE3-8BD9-A26B5B27EC73}.Release|x86.ActiveCfg = Release|Win32
{34DE34D3-1CD6-4EE3-8BD9-A26B5B27EC73}.Release|x86.Build.0 = Release|Win32
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.AuditMode|Any CPU.ActiveCfg = AuditMode|Win32
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.AuditMode|ARM.ActiveCfg = AuditMode|Win32
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.AuditMode|ARM64.ActiveCfg = AuditMode|ARM64
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.AuditMode|x64.ActiveCfg = AuditMode|x64
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.AuditMode|x64.Build.0 = AuditMode|x64
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.AuditMode|x86.ActiveCfg = AuditMode|Win32
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.AuditMode|x86.Build.0 = AuditMode|Win32
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Debug|Any CPU.ActiveCfg = Debug|Win32
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Debug|ARM.ActiveCfg = Debug|Win32
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Debug|ARM64.ActiveCfg = Debug|ARM64
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Debug|ARM64.Build.0 = Debug|ARM64
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Debug|x64.ActiveCfg = Debug|x64
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Debug|x64.Build.0 = Debug|x64
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Debug|x86.ActiveCfg = Debug|Win32
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Debug|x86.Build.0 = Debug|Win32
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Fuzzing|Any CPU.ActiveCfg = Fuzzing|Win32
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Fuzzing|ARM.ActiveCfg = Fuzzing|Win32
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Fuzzing|ARM64.ActiveCfg = Fuzzing|ARM64
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Fuzzing|x64.ActiveCfg = Fuzzing|x64
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Fuzzing|x86.ActiveCfg = Fuzzing|Win32
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Release|Any CPU.ActiveCfg = Release|Win32
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Release|ARM.ActiveCfg = Release|Win32
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Release|ARM64.ActiveCfg = Release|ARM64
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Release|ARM64.Build.0 = Release|ARM64
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Release|x64.ActiveCfg = Release|x64
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Release|x64.Build.0 = Release|x64
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Release|x86.ActiveCfg = Release|Win32
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}.Release|x86.Build.0 = Release|Win32
{376FE273-6B84-4EB5-8B30-8DE9D21B022C}.AuditMode|Any CPU.ActiveCfg = Release|Any CPU
{376FE273-6B84-4EB5-8B30-8DE9D21B022C}.AuditMode|ARM.ActiveCfg = Debug|Any CPU
{376FE273-6B84-4EB5-8B30-8DE9D21B022C}.AuditMode|ARM.Build.0 = Debug|Any CPU
@@ -2894,7 +2864,6 @@ Global
{05500DEF-2294-41E3-AF9A-24E580B82836} = {89CDCC5C-9F53-4054-97A4-639D99F169CD}
{1E4A062E-293B-4817-B20D-BF16B979E350} = {89CDCC5C-9F53-4054-97A4-639D99F169CD}
{34DE34D3-1CD6-4EE3-8BD9-A26B5B27EC73} = {89CDCC5C-9F53-4054-97A4-639D99F169CD}
- {84848BFA-931D-42CE-9ADF-01EE54DE7890} = {4DAF0299-495E-4CD1-A982-9BAC16A45932}
{376FE273-6B84-4EB5-8B30-8DE9D21B022C} = {4DAF0299-495E-4CD1-A982-9BAC16A45932}
{CA5CAD1A-9333-4D05-B12A-1905CBF112F9} = {BDB237B6-1D1D-400F-84CC-40A58FA59C8E}
{CA5CAD1A-9A12-429C-B551-8562EC954746} = {59840756-302F-44DF-AA47-441A9D673202}
diff --git a/build/config/esrp.build.batch.wpf.json b/build/config/esrp.build.batch.wpf.json
index e9c9af8789..6243204666 100644
--- a/build/config/esrp.build.batch.wpf.json
+++ b/build/config/esrp.build.batch.wpf.json
@@ -1,7 +1,7 @@
[
{
"MatchedPath": [
- "PublicTerminalCore.dll"
+ "Microsoft.Terminal.Control/Microsoft.Terminal.Control.dll"
],
"SigningInfo": {
"Operations": [
diff --git a/build/pipelines/templates-v2/job-build-project.yml b/build/pipelines/templates-v2/job-build-project.yml
index eda45842bb..39d5020c5c 100644
--- a/build/pipelines/templates-v2/job-build-project.yml
+++ b/build/pipelines/templates-v2/job-build-project.yml
@@ -114,7 +114,7 @@ jobs:
$SignFragments += "wpfdotnet"
}
If ([bool]::Parse("${{ parameters.buildWPF }}")) {
- $BuildTargets += "Terminal\wpf\PublicTerminalCore"
+ $BuildTargets += "Terminal\Control\Microsoft_Terminal_Control"
$SignFragments += "wpf"
}
If ([bool]::Parse("${{ parameters.buildConPTY }}")) {
diff --git a/doc/ORGANIZATION.md b/doc/ORGANIZATION.md
index d220c9034e..07a6e41ee7 100644
--- a/doc/ORGANIZATION.md
+++ b/doc/ORGANIZATION.md
@@ -32,7 +32,6 @@
* `/src/cascadia/TerminalApp` - This DLL represents the implementation of the Windows Terminal application. This includes parsing settings, hosting tabs & panes with Terminals in them, and displaying other UI elements. This DLL is almost entirely UWP-like code, and shouldn't be doing any Win32-like UI work.
* `/src/cascadia/WindowsTerminal` - This EXE provides Win32 hosting for the TerminalApp. It will set up XAML islands, and is responsible for drawing the window, either as a standard window or with content in the titlebar (non-client area).
* `/src/cascadia/CascadiaPackage` - This is a project for packaging the Windows Terminal and its dependencies into an .appx/.msix for deploying to the machine.
- * `/src/cascadia/PublicTerminalCore` - This is a DLL wrapper for the TerminalCore and Renderer, similar to `TermControl`, which exposes some exported functions that so the Terminal can be used from C#.
* `/src/cascadia/WpfTerminalControl` - A DLL implementing a WPF version of the Terminal Control.
* `/src/host` – The meat of the windows console host. This includes buffer, input, output, windowing, server management, clipboard, and most interactions with the console host window that aren’t stated anywhere else. We’re trying to pull things out that are reusable into other libraries, but it’s a work in progress
* `/src/host/lib` – Builds the reusable LIB copy of the host
diff --git a/src/cascadia/PublicTerminalCore/PublicTerminalCore.vcxproj b/src/cascadia/PublicTerminalCore/PublicTerminalCore.vcxproj
deleted file mode 100644
index f8db236b21..0000000000
--- a/src/cascadia/PublicTerminalCore/PublicTerminalCore.vcxproj
+++ /dev/null
@@ -1,64 +0,0 @@
-
-
-
- 16.0
- {84848BFA-931D-42CE-9ADF-01EE54DE7890}
- Win32Proj
- PublicTerminalCore
- PublicTerminalCore
- DynamicLibrary
-
-
-
-
-
- Create
-
-
-
-
-
-
-
-
-
-
-
- {1cf55140-ef6a-4736-a403-957e4f7430bb}
-
-
- {ca5cad1a-abcd-429c-b551-8562ec954746}
-
-
- {18D09A24-8240-42D6-8CB6-236EEE820263}
-
-
- {8222900C-8B6C-452A-91AC-BE95DB04B95F}
-
-
- {af0a096a-8b3a-4949-81ef-7df8f0fee91f}
-
-
- {48d21369-3d7b-4431-9967-24e81292cf62}
-
-
- {48d21369-3d7b-4431-9967-24e81292cf63}
-
-
-
-
- pch.h
-
-
-
-
-
-
-
-
- delayimp.lib;Uiautomationcore.lib;onecoreuap.lib;%(AdditionalDependencies)
- uiautomationcore.dll;%(DelayLoadDLLs)
-
-
-
diff --git a/src/cascadia/PublicTerminalCore/PublicTerminalCore.vcxproj.filters b/src/cascadia/PublicTerminalCore/PublicTerminalCore.vcxproj.filters
deleted file mode 100644
index 6865448d4a..0000000000
--- a/src/cascadia/PublicTerminalCore/PublicTerminalCore.vcxproj.filters
+++ /dev/null
@@ -1,42 +0,0 @@
-
-
-
-
- {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
- cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
-
-
- {93995380-89BD-4b04-88EB-625FBE52EBFB}
- h;hh;hpp;hxx;hm;inl;inc;ipp;xsd
-
-
- {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
- rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
-
-
-
-
-
-
-
- Source Files
-
-
- Source Files
-
-
- Source Files
-
-
-
-
- Header Files
-
-
- Header Files
-
-
- Header Files
-
-
-
\ No newline at end of file
diff --git a/src/cascadia/PublicTerminalCore/pch.cpp b/src/cascadia/PublicTerminalCore/pch.cpp
deleted file mode 100644
index 398a99f665..0000000000
--- a/src/cascadia/PublicTerminalCore/pch.cpp
+++ /dev/null
@@ -1,4 +0,0 @@
-// Copyright (c) Microsoft Corporation.
-// Licensed under the MIT license.
-
-#include "pch.h"
diff --git a/src/cascadia/PublicTerminalCore/pch.h b/src/cascadia/PublicTerminalCore/pch.h
deleted file mode 100644
index 3834f83cde..0000000000
--- a/src/cascadia/PublicTerminalCore/pch.h
+++ /dev/null
@@ -1,12 +0,0 @@
-// Copyright (c) Microsoft Corporation.
-// Licensed under the MIT license.
-
-#ifndef WIN32_LEAN_AND_MEAN
-#define WIN32_LEAN_AND_MEAN // If this is not defined, windows.h includes commdlg.h which defines FindText globally and conflicts with UIAutomation ITextRangeProvider.
-#define NOMCX
-#define NOHELP
-#define NOCOMM
-#endif
-
-#include
-#include
\ No newline at end of file
diff --git a/src/cascadia/PublicTerminalCore/HwndTerminal.cpp b/src/cascadia/TerminalControl/HwndTerminal.cpp
similarity index 100%
rename from src/cascadia/PublicTerminalCore/HwndTerminal.cpp
rename to src/cascadia/TerminalControl/HwndTerminal.cpp
diff --git a/src/cascadia/PublicTerminalCore/HwndTerminal.hpp b/src/cascadia/TerminalControl/HwndTerminal.hpp
similarity index 100%
rename from src/cascadia/PublicTerminalCore/HwndTerminal.hpp
rename to src/cascadia/TerminalControl/HwndTerminal.hpp
diff --git a/src/cascadia/PublicTerminalCore/HwndTerminalAutomationPeer.cpp b/src/cascadia/TerminalControl/HwndTerminalAutomationPeer.cpp
similarity index 100%
rename from src/cascadia/PublicTerminalCore/HwndTerminalAutomationPeer.cpp
rename to src/cascadia/TerminalControl/HwndTerminalAutomationPeer.cpp
diff --git a/src/cascadia/PublicTerminalCore/HwndTerminalAutomationPeer.hpp b/src/cascadia/TerminalControl/HwndTerminalAutomationPeer.hpp
similarity index 100%
rename from src/cascadia/PublicTerminalCore/HwndTerminalAutomationPeer.hpp
rename to src/cascadia/TerminalControl/HwndTerminalAutomationPeer.hpp
diff --git a/src/cascadia/TerminalControl/TerminalControlLib.vcxproj b/src/cascadia/TerminalControl/TerminalControlLib.vcxproj
index d4560ea14a..151fe35932 100644
--- a/src/cascadia/TerminalControl/TerminalControlLib.vcxproj
+++ b/src/cascadia/TerminalControl/TerminalControlLib.vcxproj
@@ -69,6 +69,8 @@
TSFInputControl.xaml
+
+
@@ -111,6 +113,8 @@
InteractivityAutomationPeer.idl
+
+
diff --git a/src/cascadia/TerminalControl/dll/Microsoft.Terminal.Control.def b/src/cascadia/TerminalControl/dll/Microsoft.Terminal.Control.def
index ba15818ddb..8500c457d6 100644
--- a/src/cascadia/TerminalControl/dll/Microsoft.Terminal.Control.def
+++ b/src/cascadia/TerminalControl/dll/Microsoft.Terminal.Control.def
@@ -1,3 +1,26 @@
EXPORTS
-DllCanUnloadNow = WINRT_CanUnloadNow PRIVATE
-DllGetActivationFactory = WINRT_GetActivationFactory PRIVATE
+ ; WinRT ABI
+ DllCanUnloadNow = WINRT_CanUnloadNow PRIVATE
+ DllGetActivationFactory = WINRT_GetActivationFactory PRIVATE
+
+ ; Flat C ABI
+ CreateTerminal
+ DestroyTerminal
+ TerminalBlinkCursor
+ TerminalCalculateResize
+ TerminalClearSelection
+ TerminalDpiChanged
+ TerminalGetSelection
+ TerminalIsSelectionActive
+ TerminalKillFocus
+ TerminalRegisterScrollCallback
+ TerminalRegisterWriteCallback
+ TerminalSendCharEvent
+ TerminalSendKeyEvent
+ TerminalSendOutput
+ TerminalSetCursorVisible
+ TerminalSetFocus
+ TerminalSetTheme
+ TerminalTriggerResize
+ TerminalTriggerResizeWithDimension
+ TerminalUserScroll
diff --git a/src/cascadia/TerminalControl/dll/TerminalControl.vcxproj b/src/cascadia/TerminalControl/dll/TerminalControl.vcxproj
index 82ef3b9165..4116d986ea 100644
--- a/src/cascadia/TerminalControl/dll/TerminalControl.vcxproj
+++ b/src/cascadia/TerminalControl/dll/TerminalControl.vcxproj
@@ -89,7 +89,8 @@
- dwrite.lib;dxgi.lib;d2d1.lib;d3d11.lib;shcore.lib;winmm.lib;pathcch.lib;propsys.lib;uiautomationcore.lib;Shlwapi.lib;ntdll.lib;user32.lib;shell32.lib;kernel32.lib;%(AdditionalDependencies)
+ delayimp.lib;Uiautomationcore.lib;onecoreuap.lib;%(AdditionalDependencies)
+ uiautomationcore.dll;%(DelayLoadDLLs)