terminal/src/cascadia/TerminalApp
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
..
dll Add a keybinding option to Terminal to open the Settings UI (#8048) 2020-12-11 13:47:10 -08:00
Resources/en-US Add size param to splitPane action, split-pane subcommand (#8543) 2020-12-18 03:51:53 +00:00
ActionPaletteItem.cpp Teach CommandPalette model to natively support tabs and command lines (#8420) 2020-12-10 00:36:28 +00:00
ActionPaletteItem.h Teach CommandPalette model to natively support tabs and command lines (#8420) 2020-12-10 00:36:28 +00:00
ActionPaletteItem.idl Teach CommandPalette model to natively support tabs and command lines (#8420) 2020-12-10 00:36:28 +00:00
App.base.h Apply a GDI region to the top level Island window to allow dragging with a single Island (#929) 2019-06-25 13:06:11 -07:00
App.cpp Make Terminal look great in High Contrast (#6833) 2020-07-08 12:08:08 -07:00
App.h Break everything out of App except Xaml platform init (#3465) 2019-11-07 13:10:58 -08:00
App.idl Fix intellisense errors by moving TerminalApp projects around (#6897) 2020-08-20 22:44:37 +00:00
App.xaml Replace the HRGN-based titlebar cutout with an overlay window (#5485) 2020-04-24 15:22:40 -07:00
AppActionHandlers.cpp Add Microsoft.Terminal.Remoting.dll (#8607) 2021-01-07 22:59:37 +00:00
AppCommandlineArgs.cpp Add size param to splitPane action, split-pane subcommand (#8543) 2020-12-18 03:51:53 +00:00
AppCommandlineArgs.h Add size param to splitPane action, split-pane subcommand (#8543) 2020-12-18 03:51:53 +00:00
AppKeyBindings.cpp Introduce TerminalSettingsModel project (#7667) 2020-10-06 09:56:59 -07:00
AppKeyBindings.h Change backslashes in include statements to forward slashes (#8205) 2020-11-25 21:02:10 +00:00
AppKeyBindings.idl Introduce TerminalSettingsModel project (#7667) 2020-10-06 09:56:59 -07:00
AppLogic.cpp Add Microsoft.Terminal.Remoting.dll (#8607) 2021-01-07 22:59:37 +00:00
AppLogic.h Add Microsoft.Terminal.Remoting.dll (#8607) 2021-01-07 22:59:37 +00:00
AppLogic.idl Add Microsoft.Terminal.Remoting.dll (#8607) 2021-01-07 22:59:37 +00:00
ColorHelper.cpp Fix a few minor typos from #3789 (#5740) 2020-05-04 16:47:29 -05:00
ColorHelper.h Add support for setting a tab's color at runtime w/ context menu (#3789) 2020-05-04 20:57:12 +00:00
ColorPickupFlyout.cpp Add support for setting a tab's color at runtime w/ context menu (#3789) 2020-05-04 20:57:12 +00:00
ColorPickupFlyout.h Add support for setting a tab's color at runtime w/ context menu (#3789) 2020-05-04 20:57:12 +00:00
ColorPickupFlyout.idl Add support for setting a tab's color at runtime w/ context menu (#3789) 2020-05-04 20:57:12 +00:00
ColorPickupFlyout.xaml Show color slider in Tab color picker (#7963) 2020-10-23 20:18:06 +00:00
Commandline.cpp Add support for commandline args to wt.exe (#4023) 2020-01-27 15:34:12 +00:00
Commandline.h Add support for commandline args to wt.exe (#4023) 2020-01-27 15:34:12 +00:00
CommandLinePaletteItem.cpp Teach CommandPalette model to natively support tabs and command lines (#8420) 2020-12-10 00:36:28 +00:00
CommandLinePaletteItem.h Teach CommandPalette model to natively support tabs and command lines (#8420) 2020-12-10 00:36:28 +00:00
CommandLinePaletteItem.idl Teach CommandPalette model to natively support tabs and command lines (#8420) 2020-12-10 00:36:28 +00:00
CommandPalette.cpp Prevent Tab Switcher from increasing Tab refcount (#8653) 2021-01-04 19:59:22 +00:00
CommandPalette.h Introduce parsed command line text to command palette (#8515) 2020-12-16 02:03:13 +00:00
CommandPalette.idl Introduce parsed command line text to command palette (#8515) 2020-12-16 02:03:13 +00:00
CommandPalette.xaml Introduce parsed command line text to command palette (#8515) 2020-12-16 02:03:13 +00:00
DebugTapConnection.cpp Introduce TerminalSettingsModel project (#7667) 2020-10-06 09:56:59 -07:00
DebugTapConnection.h Add explicit identifier to some constructors (#5652) 2020-04-29 16:50:47 -07:00
EmptyStringVisibilityConverter.cpp Add some polish to nested commands in the command palette (#7299) 2020-08-18 19:32:17 +00:00
EmptyStringVisibilityConverter.h Change backslashes in include statements to forward slashes (#8205) 2020-11-25 21:02:10 +00:00
EmptyStringVisibilityConverter.idl Add some polish to nested commands in the command palette (#7299) 2020-08-18 19:32:17 +00:00
FilteredCommand.cpp Teach CommandPalette model to natively support tabs and command lines (#8420) 2020-12-10 00:36:28 +00:00
FilteredCommand.h Teach CommandPalette model to natively support tabs and command lines (#8420) 2020-12-10 00:36:28 +00:00
FilteredCommand.idl Teach CommandPalette model to natively support tabs and command lines (#8420) 2020-12-10 00:36:28 +00:00
HasNestedCommandsVisibilityConverter.cpp Teach CommandPalette model to natively support tabs and command lines (#8420) 2020-12-10 00:36:28 +00:00
HasNestedCommandsVisibilityConverter.h Change backslashes in include statements to forward slashes (#8205) 2020-11-25 21:02:10 +00:00
HasNestedCommandsVisibilityConverter.idl Add some polish to nested commands in the command palette (#7299) 2020-08-18 19:32:17 +00:00
HighlightedText.cpp Bold matching text in the command palette (#7977) 2020-11-05 17:37:45 -08:00
HighlightedText.h Bold matching text in the command palette (#7977) 2020-11-05 17:37:45 -08:00
HighlightedText.idl Bold matching text in the command palette (#7977) 2020-11-05 17:37:45 -08:00
HighlightedTextControl.cpp Bold matching text in the command palette (#7977) 2020-11-05 17:37:45 -08:00
HighlightedTextControl.h Bold matching text in the command palette (#7977) 2020-11-05 17:37:45 -08:00
HighlightedTextControl.idl Bold matching text in the command palette (#7977) 2020-11-05 17:37:45 -08:00
HighlightedTextControl.xaml Bold matching text in the command palette (#7977) 2020-11-05 17:37:45 -08:00
IDirectKeyListener.idl Pass the scancode in our tunneled DirectKey event (#7298) 2020-08-14 23:44:39 +00:00
init.cpp Hook up the WIL fallback error tracer in Terminal (#7864) 2020-10-09 22:20:12 +00:00
Jumplist.cpp Store and expose hidden profiles (#8070) 2020-10-28 16:22:26 +00:00
Jumplist.h Move jumplist creation to background thread (#7978) 2020-10-22 17:17:26 -07:00
MinMaxCloseControl.cpp Get rid of the padding above the tab row when maximized (#5881) 2020-05-21 22:26:37 +00:00
MinMaxCloseControl.h Propagate window style changes to the titlebar and minmax (#3025) 2019-10-02 10:27:07 -07:00
MinMaxCloseControl.idl Fix intellisense errors by moving TerminalApp projects around (#6897) 2020-08-20 22:44:37 +00:00
MinMaxCloseControl.xaml Fix color animation bug of title bar buttons (#8649) 2021-01-07 21:12:29 +00:00
packages.config Update Win32 Toolkit (6.1.2) and VCRT Forwarders (1.0.4) (#8501) 2020-12-10 01:30:00 +00:00
PaletteItem.cpp Teach CommandPalette model to natively support tabs and command lines (#8420) 2020-12-10 00:36:28 +00:00
PaletteItem.h Teach CommandPalette model to natively support tabs and command lines (#8420) 2020-12-10 00:36:28 +00:00
PaletteItem.idl Teach CommandPalette model to natively support tabs and command lines (#8420) 2020-12-10 00:36:28 +00:00
Pane.cpp Add size param to splitPane action, split-pane subcommand (#8543) 2020-12-18 03:51:53 +00:00
Pane.h Add size param to splitPane action, split-pane subcommand (#8543) 2020-12-18 03:51:53 +00:00
Pane.LayoutSizeNode.cpp Snap to character grid when resizing window (#3181) 2020-01-08 13:19:23 -08:00
pch.cpp Initial release of the Windows Terminal source code 2019-05-02 15:29:04 -07:00
pch.h Add a keybinding option to Terminal to open the Settings UI (#8048) 2020-12-11 13:47:10 -08:00
SettingsTab.cpp Add a keybinding option to Terminal to open the Settings UI (#8048) 2020-12-11 13:47:10 -08:00
SettingsTab.h Add a keybinding option to Terminal to open the Settings UI (#8048) 2020-12-11 13:47:10 -08:00
SettingsTab.idl Add a keybinding option to Terminal to open the Settings UI (#8048) 2020-12-11 13:47:10 -08:00
ShortcutActionDispatch.cpp Implement user-specified pixel shaders, redux (#8565) 2020-12-15 20:40:22 +00:00
ShortcutActionDispatch.h Implement user-specified pixel shaders, redux (#8565) 2020-12-15 20:40:22 +00:00
ShortcutActionDispatch.idl Implement user-specified pixel shaders, redux (#8565) 2020-12-15 20:40:22 +00:00
TabBase.cpp Teach CommandPalette model to natively support tabs and command lines (#8420) 2020-12-10 00:36:28 +00:00
TabBase.h Teach CommandPalette model to natively support tabs and command lines (#8420) 2020-12-10 00:36:28 +00:00
TabBase.idl Teach CommandPalette model to natively support tabs and command lines (#8420) 2020-12-10 00:36:28 +00:00
TabHeaderControl.cpp Add some logging around tab renamer usage (#8520) 2020-12-10 17:12:50 +00:00
TabHeaderControl.h Add a progress ring indicator to the tab header (#8133) 2020-12-16 02:45:15 +00:00
TabHeaderControl.idl Add a progress ring indicator to the tab header (#8133) 2020-12-16 02:45:15 +00:00
TabHeaderControl.xaml Add a progress ring indicator to the tab header (#8133) 2020-12-16 02:45:15 +00:00
TabPaletteItem.cpp Prevent Tab Switcher from increasing Tab refcount (#8653) 2021-01-04 19:59:22 +00:00
TabPaletteItem.h Prevent Tab Switcher from increasing Tab refcount (#8653) 2021-01-04 19:59:22 +00:00
TabPaletteItem.idl Teach CommandPalette model to natively support tabs and command lines (#8420) 2020-12-10 00:36:28 +00:00
TabRowControl.cpp Upgrade to Microsoft.UI.Xaml 2.2 (#3027) 2019-10-14 22:41:43 -07:00
TabRowControl.h Upgrade to Microsoft.UI.Xaml 2.2 (#3027) 2019-10-14 22:41:43 -07:00
TabRowControl.idl Upgrade to Microsoft.UI.Xaml 2.2 (#3027) 2019-10-14 22:41:43 -07:00
TabRowControl.xaml Inform user that holding alt opens a new pane (#7866) 2020-10-12 17:14:02 -07:00
TerminalAppLib.vcxproj Add a keybinding option to Terminal to open the Settings UI (#8048) 2020-12-11 13:47:10 -08:00
TerminalAppLib.vcxproj.filters Add a keybinding option to Terminal to open the Settings UI (#8048) 2020-12-11 13:47:10 -08:00
TerminalPage.cpp Add Microsoft.Terminal.Remoting.dll (#8607) 2021-01-07 22:59:37 +00:00
TerminalPage.h Add Microsoft.Terminal.Remoting.dll (#8607) 2021-01-07 22:59:37 +00:00
TerminalPage.idl Implement ConEmu's OSC 9;4 to set the taskbar progress indicator (#8055) 2020-11-18 14:24:11 -08:00
TerminalPage.xaml Enable shortcut while CommandPalette is open (#8586) 2020-12-18 17:09:30 +00:00
TerminalSettings.cpp Implement user-specified pixel shaders, redux (#8565) 2020-12-15 20:40:22 +00:00
TerminalSettings.h Implement user-specified pixel shaders, redux (#8565) 2020-12-15 20:40:22 +00:00
TerminalSettings.idl Move ICore/ControlSettings to TerminalControl project (#7167) 2020-08-07 14:46:52 +00:00
TerminalTab.cpp Prevent tab icon from blinking upon tab gaining focus (#8609) 2020-12-18 08:49:22 +00:00
TerminalTab.h Add size param to splitPane action, split-pane subcommand (#8543) 2020-12-18 03:51:53 +00:00
TerminalTab.idl Make Tab an unsealed runtimeclass (and rename it to TabBase) (#8153) 2020-11-04 10:15:05 -08:00
TitlebarControl.cpp Add support for setting a tab's color at runtime w/ context menu (#3789) 2020-05-04 20:57:12 +00:00
TitlebarControl.h Add support for setting a tab's color at runtime w/ context menu (#3789) 2020-05-04 20:57:12 +00:00
TitlebarControl.idl Upgrade to Microsoft.UI.Xaml 2.2 (#3027) 2019-10-14 22:41:43 -07:00
TitlebarControl.xaml Upgrade to Microsoft.UI.Xaml 2.2 (#3027) 2019-10-14 22:41:43 -07:00