mirror of
https://github.com/microsoft/terminal.git
synced 2025-12-10 00:48:23 -06:00
Make a VTApiRoutines servicer that does minimal translations instead of environmental simulation for some output methods. Remaining methods are backed on the existing console host infrastructure (primarily input related methods). ## PR Checklist * [x] I work here * [x] It's Fix-Hack-Learn quality so it's behind a feature gate so we can keep refining it. But it's a start! To turn this on, you will have to be in the Dev or Preview rings (feature staged). Then add `experimental.connection.passthroughMode: true` to a profile and on the next launch, the flags will propagate down through the `ConptyConnection` into the underlying `Openconsole.exe` startup and tell it to use the passthrough mode instead of the full simulation mode. ## Validation Steps Performed - Played with it manually in CMD.exe, it seems to work mostly. - Played with it manually in Ubuntu WSL, it seems to work. - Played with it manually in Powershell and it's mostly sad. It'll get there. Starts #1173
99 lines
4.4 KiB
XML
99 lines
4.4 KiB
XML
<?xml version="1.0"?>
|
|
<featureStaging xmlns="http://microsoft.com/TilFeatureStaging-Schema.xsd">
|
|
<!-- See doc/feature_flags.md for more info. -->
|
|
<feature>
|
|
<name>Feature_ReceiveIncomingHandoff</name>
|
|
<description>OpenConsole should be able to receive incoming connections</description>
|
|
<stage>AlwaysEnabled</stage>
|
|
<alwaysDisabledBrandingTokens>
|
|
<brandingToken>WindowsInbox</brandingToken>
|
|
</alwaysDisabledBrandingTokens>
|
|
</feature>
|
|
|
|
<feature>
|
|
<name>Feature_EditableUnfocusedAppearance</name>
|
|
<description>The unfocused appearance section in profiles in the SUI that allows users to create and edit unfocused appearances.</description>
|
|
<stage>AlwaysEnabled</stage>
|
|
<alwaysDisabledReleaseTokens/>
|
|
</feature>
|
|
|
|
<feature>
|
|
<name>Feature_AttemptHandoff</name>
|
|
<description>conhost should try to hand connections over to OpenConsole</description>
|
|
<stage>AlwaysDisabled</stage>
|
|
<alwaysEnabledBrandingTokens>
|
|
<brandingToken>WindowsInbox</brandingToken>
|
|
</alwaysEnabledBrandingTokens>
|
|
</feature>
|
|
|
|
<feature>
|
|
<name>Feature_ConhostDxEngine</name>
|
|
<description>Controls whether conhost supports the DX engine and the UseDx registry key</description>
|
|
<stage>AlwaysEnabled</stage>
|
|
<alwaysDisabledBrandingTokens>
|
|
<brandingToken>WindowsInbox</brandingToken>
|
|
</alwaysDisabledBrandingTokens>
|
|
</feature>
|
|
<feature>
|
|
<name>Feature_DxEngineShaderSupport</name>
|
|
<description>Controls whether the DX engine is built with shader support.</description>
|
|
<stage>AlwaysEnabled</stage>
|
|
<alwaysDisabledBrandingTokens>
|
|
<brandingToken>WindowsInbox</brandingToken>
|
|
</alwaysDisabledBrandingTokens>
|
|
</feature>
|
|
|
|
<feature>
|
|
<name>Feature_UseNumpadEventsForClipboardInput</name>
|
|
<description>Controls whether the clipboard converter (and ConPTY InputStateMachine) uses Numpad events instead of UChar</description>
|
|
<stage>AlwaysDisabled</stage>
|
|
<alwaysEnabledBrandingTokens>
|
|
<!--
|
|
To reduce the risk of compatibility issues inside Windows, we're going to continue using the old
|
|
version of GetQuickCharWidth to determine whether a character should be synthesized into numpad
|
|
events.
|
|
-->
|
|
<brandingToken>WindowsInbox</brandingToken>
|
|
</alwaysEnabledBrandingTokens>
|
|
</feature>
|
|
|
|
<feature>
|
|
<name>Feature_AtlasEngine</name>
|
|
<description>If enabled, AtlasEngine and the experimental.useAtlasEngine setting are compiled into the project</description>
|
|
<stage>AlwaysEnabled</stage>
|
|
<alwaysDisabledBrandingTokens>
|
|
<brandingToken>Release</brandingToken>
|
|
<brandingToken>WindowsInbox</brandingToken>
|
|
</alwaysDisabledBrandingTokens>
|
|
</feature>
|
|
|
|
<feature>
|
|
<name>Feature_NearbyFontLoading</name>
|
|
<description>Controls whether fonts in the same directory as the binary are used during rendering. Disabled for conhost so that it doesn't iterate the entire system32 directory.</description>
|
|
<stage>AlwaysEnabled</stage>
|
|
<alwaysDisabledBrandingTokens>
|
|
<brandingToken>WindowsInbox</brandingToken>
|
|
</alwaysDisabledBrandingTokens>
|
|
</feature>
|
|
|
|
<feature>
|
|
<name>Feature_AdjustIndistinguishableText</name>
|
|
<description>If enabled, the foreground color will, when necessary, be automatically adjusted to make it more visible.</description>
|
|
<stage>AlwaysDisabled</stage>
|
|
<alwaysEnabledBrandingTokens>
|
|
<brandingToken>Dev</brandingToken>
|
|
</alwaysEnabledBrandingTokens>
|
|
</feature>
|
|
|
|
<feature>
|
|
<name>Feature_VtPassthroughMode</name>
|
|
<description>Enables passthrough option per profile in Terminal and ConPTY ability to use passthrough API dispatch engine</description>
|
|
<stage>AlwaysDisabled</stage>
|
|
<!-- Did it this way instead of "release tokens" to ensure it won't go into Windows Inbox either... -->
|
|
<alwaysEnabledBrandingTokens>
|
|
<brandingToken>Dev</brandingToken>
|
|
<brandingToken>Preview</brandingToken>
|
|
</alwaysEnabledBrandingTokens>
|
|
</feature>
|
|
</featureStaging>
|