terminal/src/cascadia
Mike Griese 7d503a4352
Add Microsoft.Terminal.Remoting.dll (#8607)
Adds a `Microsoft.Terminal.Remoting.dll` to our solution. This DLL will
be responsible for all the Monarch/Peasant work that's been described in
#7240 & #8135. 

This PR does _not_ implement the Monarch/Peasant architecture in any
significant way. The goal of this PR is to just to establish the project
layout, and the most basic connections. This should make reviewing the
actual meat of the implementation (in a later PR) easier. It will also
give us the opportunity to include some of the basic weird things we're
doing (with `CoRegisterClass`) in the Terminal _now_, and get them
selfhosted, before building on them too much.

This PR does have windows registering the `Monarch` class with COM. When
windows are created, they'll as the Monarch if they should create a new
window or not. In this PR, the Monarch will always reply "yes, please
make a new window".

Similar to other projects in our solution, we're adding 3 projects here:
* `Microsoft.Terminal.Remoting.lib`: the actual implementation, as a
  static lib.
* `Microsoft.Terminal.Remoting.dll`: The implementation linked as a DLL,
  for use in `WindowsTerminal.exe`.
* `Remoting.UnitTests.dll`: A unit test dll that links with the static
  lib. 

There are plenty of TODOs scattered about the code. Clearly, most of
this isn't implemented yet, but I do have more WIP branches. I'm using
[`projects/5`](https://github.com/microsoft/terminal/projects/5) as my
notation for TODOs that are too small for an issue, but are part of the
whole Process Model 2.0 work.

## References

* #5000 - this is the process model megathread
* #7240 - The process model 2.0 spec.
* #8135 - the window management spec. (please review me, I have 0/3
  signoffs even after the discussion we had 😢)
* #8171 - the Monarch/peasant sample. (please review me, I have 1/2)

## PR Checklist
* [x] Closes nothing, this is just infrastructure
* [x] I work here
* [x] Tests added/passed
* [n/a] Requires documentation to be updated
2021-01-07 22:59:37 +00:00
..
CascadiaPackage make "open terminal here" context menu work for directory background (#8638) 2021-01-06 19:59:30 +00:00
inc Make Tab an unsealed runtimeclass (and rename it to TabBase) (#8153) 2020-11-04 10:15:05 -08:00
LocalTests_SettingsModel Add size param to splitPane action, split-pane subcommand (#8543) 2020-12-18 03:51:53 +00:00
LocalTests_TerminalApp Add size param to splitPane action, split-pane subcommand (#8543) 2020-12-18 03:51:53 +00:00
PublicTerminalCore Exclude more rarely-used stuff from Windows headers (#8513) 2020-12-11 19:35:23 +00:00
Remoting Add Microsoft.Terminal.Remoting.dll (#8607) 2021-01-07 22:59:37 +00:00
ShellExtension make "open terminal here" context menu work for directory background (#8638) 2021-01-06 19:59:30 +00:00
TerminalApp Add Microsoft.Terminal.Remoting.dll (#8607) 2021-01-07 22:59:37 +00:00
TerminalAzBridge Exclude more rarely-used stuff from Windows headers (#8513) 2020-12-11 19:35:23 +00:00
TerminalConnection make "open terminal here" context menu work for directory background (#8638) 2021-01-06 19:59:30 +00:00
TerminalControl Enable underlining hyperlink on hover even if not focused (#8615) 2021-01-07 22:18:10 +00:00
TerminalCore Greatly reduce allocations in the conhost/OpenConsole startup path (#8489) 2020-12-16 10:40:30 -08:00
TerminalSettingsEditor Polish OpenSettings action for Settings UI and Profile page navigation on refresh (#8670) 2021-01-04 14:14:51 -08:00
TerminalSettingsModel Polish OpenSettings action for Settings UI and Profile page navigation on refresh (#8670) 2021-01-04 14:14:51 -08:00
UnitTests_Remoting Add Microsoft.Terminal.Remoting.dll (#8607) 2021-01-07 22:59:37 +00:00
UnitTests_TerminalCore Greatly reduce allocations in the conhost/OpenConsole startup path (#8489) 2020-12-16 10:40:30 -08:00
ut_app Update to Microsoft.UI.Xaml 2.5 "stable" (#8500) 2020-12-04 23:49:45 +00:00
WindowsTerminal Add Microsoft.Terminal.Remoting.dll (#8607) 2021-01-07 22:59:37 +00:00
WindowsTerminalUniversal Update Win32 Toolkit (6.1.2) and VCRT Forwarders (1.0.4) (#8501) 2020-12-10 01:30:00 +00:00
WinRTUtils Exclude more rarely-used stuff from Windows headers (#8513) 2020-12-11 19:35:23 +00:00
WpfTerminalControl wpf: target netcoreapp3.1, clean up test project path (#8491) 2020-12-04 18:17:25 +00:00
WpfTerminalTestNetCore wpf: target netcoreapp3.1, clean up test project path (#8491) 2020-12-04 18:17:25 +00:00
wt Build and ship an actual binary named wt that just launches WT (#6860) 2020-07-10 22:41:37 +00:00
CascadiaResources.build.items Introduce TerminalSettingsModel project (#7667) 2020-10-06 09:56:59 -07:00