906edf7002
- Implements the default application behavior and handoff mechanisms between console and terminal. The inbox portion is done already. This adds the ability for our OpenConsole.exe to accept the incoming server connection from the Windows OS, stand up a PTY session, start the Windows Terminal as a listener for an incoming connection, and then send it the incoming PTY connection for it to launch a tab. - The tab is launched with default settings at the moment. - You must configure the default application using the `conhost.exe` propsheet or with the registry keys. Finishing the setting inside Windows Terminal will be a todo after this is complete. The OS Settings panel work to surface this setting is a dependency delivered by another team and you will not see it here. ## Validation Steps Performed - [x] Manual adjust of registry keys to the delegation conhost/terminal behavior - [x] Adjustment of the delegation options with the propsheet - [x] Launching things from the run box manually and watching them show in Terminal - [x] Launching things from shortcuts and watching them show in the Terminal Documentation on how it works will be a TODO post completion in #9462 References #7414 - Default Terminal spec Closes #492
121 lines
6.2 KiB
XML
121 lines
6.2 KiB
XML
<!-- Copyright (c) Microsoft Corporation. All rights reserved. Licensed under
|
|
the MIT License. See LICENSE in the project root for license information. -->
|
|
<Page
|
|
x:Class="Microsoft.Terminal.Settings.Editor.Launch"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:local="using:Microsoft.Terminal.Settings.Editor"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
|
|
xmlns:SettingsModel="using:Microsoft.Terminal.Settings.Model"
|
|
mc:Ignorable="d">
|
|
|
|
<Page.Resources>
|
|
<ResourceDictionary>
|
|
<ResourceDictionary.MergedDictionaries>
|
|
<ResourceDictionary Source="CommonResources.xaml"/>
|
|
</ResourceDictionary.MergedDictionaries>
|
|
|
|
<DataTemplate x:DataType="local:EnumEntry" x:Key="EnumRadioButtonTemplate">
|
|
<RadioButton Content="{x:Bind EnumName, Mode=OneWay}"/>
|
|
</DataTemplate>
|
|
<SettingsModel:IconPathConverter x:Key="IconSourceConverter"/>
|
|
<Style x:Key="LaunchSizeNumberBoxStyle" TargetType="muxc:NumberBox" BasedOn="{StaticResource NumberBoxSettingStyle}">
|
|
<Setter Property="SmallChange" Value="1"/>
|
|
<Setter Property="LargeChange" Value="10"/>
|
|
<Setter Property="Minimum" Value="1"/>
|
|
</Style>
|
|
</ResourceDictionary>
|
|
</Page.Resources>
|
|
|
|
<ScrollViewer>
|
|
<StackPanel>
|
|
<StackPanel Style="{StaticResource SettingsStackStyle}">
|
|
<!--Default Profile-->
|
|
<local:SettingContainer x:Uid="Globals_DefaultProfile"
|
|
Margin="0">
|
|
<ComboBox x:Name="DefaultProfile"
|
|
ItemsSource="{x:Bind State.Settings.AllProfiles, Mode=OneWay}"
|
|
SelectedItem="{x:Bind CurrentDefaultProfile, Mode=TwoWay}"
|
|
Style="{StaticResource ComboBoxSettingStyle}">
|
|
<ComboBox.ItemTemplate>
|
|
<DataTemplate x:DataType="SettingsModel:Profile">
|
|
<Grid HorizontalAlignment="Stretch" ColumnSpacing="8">
|
|
|
|
<Grid.ColumnDefinitions>
|
|
<!-- icon -->
|
|
<ColumnDefinition Width="16"/>
|
|
<!-- profile name -->
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<IconSourceElement
|
|
Grid.Column="0"
|
|
Width="16"
|
|
Height="16"
|
|
IconSource="{x:Bind Icon,
|
|
Mode=OneWay,
|
|
Converter={StaticResource IconSourceConverter}}"/>
|
|
|
|
<TextBlock Grid.Column="1"
|
|
Text="{x:Bind Name}"/>
|
|
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ComboBox.ItemTemplate>
|
|
</ComboBox>
|
|
</local:SettingContainer>
|
|
|
|
<!-- Default Terminal -->
|
|
<local:SettingContainer x:Uid="Globals_DefaultTerminal">
|
|
<ComboBox x:Name="DefaultTerminal"
|
|
x:Load="False"
|
|
ItemsSource="{x:Bind DefaultTerminals, Mode=OneWay}"
|
|
SelectedItem="{x:Bind CurrentDefaultTerminal, Mode=TwoWay}"
|
|
Style="{StaticResource ComboBoxSettingStyle}">
|
|
</ComboBox>
|
|
</local:SettingContainer>
|
|
|
|
<!--Start on User Login-->
|
|
<local:SettingContainer x:Uid="Globals_StartOnUserLogin">
|
|
<ToggleSwitch IsOn="{x:Bind State.Settings.GlobalSettings.StartOnUserLogin, Mode=TwoWay}"/>
|
|
</local:SettingContainer>
|
|
|
|
<!--Launch Mode-->
|
|
<local:SettingContainer x:Uid="Globals_LaunchMode">
|
|
<muxc:RadioButtons SelectedItem="{x:Bind CurrentLaunchMode, Mode=TwoWay}"
|
|
ItemsSource="{x:Bind LaunchModeList}"
|
|
ItemTemplate="{StaticResource EnumRadioButtonTemplate}"/>
|
|
</local:SettingContainer>
|
|
|
|
<!--Launch Mode-->
|
|
<local:SettingContainer x:Uid="Globals_WindowingBehavior">
|
|
<muxc:RadioButtons SelectedItem="{x:Bind CurrentWindowingBehavior, Mode=TwoWay}"
|
|
ItemsSource="{x:Bind WindowingBehaviorList}"
|
|
ItemTemplate="{StaticResource EnumRadioButtonTemplate}"/>
|
|
</local:SettingContainer>
|
|
</StackPanel>
|
|
|
|
<!--Launch Size-->
|
|
<StackPanel Style="{StaticResource SettingsStackStyle}">
|
|
<!--Header-->
|
|
<TextBlock x:Uid="Globals_LaunchSize"
|
|
Style="{StaticResource SubtitleTextBlockStyle}"/>
|
|
|
|
<!--Columns-->
|
|
<local:SettingContainer x:Uid="Globals_InitialCols"
|
|
Margin="0">
|
|
<muxc:NumberBox Value="{x:Bind State.Settings.GlobalSettings.InitialCols, Mode=TwoWay}"
|
|
Style="{StaticResource LaunchSizeNumberBoxStyle}"/>
|
|
</local:SettingContainer>
|
|
<!--Rows-->
|
|
<local:SettingContainer x:Uid="Globals_InitialRows">
|
|
<muxc:NumberBox Value="{x:Bind State.Settings.GlobalSettings.InitialRows, Mode=TwoWay}"
|
|
Style="{StaticResource LaunchSizeNumberBoxStyle}"/>
|
|
</local:SettingContainer>
|
|
</StackPanel>
|
|
</StackPanel>
|
|
</ScrollViewer>
|
|
</Page>
|