mirror of
https://github.com/microsoft/terminal.git
synced 2026-05-18 01:00:00 +00:00
Compare commits
10 Commits
dev/lhecke
...
dev/duhowe
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
36c711d59e | ||
|
|
e710928c40 | ||
|
|
c6f706752f | ||
|
|
bdd0f64370 | ||
|
|
d5be49fb45 | ||
|
|
27f6dfb7b3 | ||
|
|
c8f49803f6 | ||
|
|
e19284d1cb | ||
|
|
bca2bad4d2 | ||
|
|
d6eeb6f0a8 |
@@ -1,13 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "ActionsViewModel.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
[default_interface] runtimeclass Actions : Windows.UI.Xaml.Controls.Page
|
||||
{
|
||||
Actions();
|
||||
ActionsViewModel ViewModel { get; };
|
||||
}
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
runtimeclass ModifyKeyBindingEventArgs
|
||||
{
|
||||
Microsoft.Terminal.Control.KeyChord OldKeys { get; };
|
||||
Microsoft.Terminal.Control.KeyChord NewKeys { get; };
|
||||
String OldActionName { get; };
|
||||
String NewActionName { get; };
|
||||
}
|
||||
|
||||
runtimeclass KeyBindingViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
// Settings Model side
|
||||
String Name { get; };
|
||||
String KeyChordText { get; };
|
||||
|
||||
// UI side
|
||||
Boolean ShowEditButton { get; };
|
||||
Boolean IsInEditMode { get; };
|
||||
Boolean IsNewlyAdded { get; };
|
||||
Microsoft.Terminal.Control.KeyChord ProposedKeys;
|
||||
Object ProposedAction;
|
||||
Windows.UI.Xaml.Controls.Flyout AcceptChangesFlyout;
|
||||
String EditButtonName { get; };
|
||||
String CancelButtonName { get; };
|
||||
String AcceptButtonName { get; };
|
||||
String DeleteButtonName { get; };
|
||||
Windows.UI.Xaml.Media.Brush ContainerBackground { get; };
|
||||
|
||||
void EnterHoverMode();
|
||||
void ExitHoverMode();
|
||||
void ActionGotFocus();
|
||||
void ActionLostFocus();
|
||||
void EditButtonGettingFocus();
|
||||
void EditButtonLosingFocus();
|
||||
IObservableVector<String> AvailableActions { get; };
|
||||
void ToggleEditMode();
|
||||
void AttemptAcceptChanges();
|
||||
void CancelChanges();
|
||||
void DeleteKeyBinding();
|
||||
|
||||
event Windows.Foundation.TypedEventHandler<KeyBindingViewModel, ModifyKeyBindingEventArgs> ModifyKeyBindingRequested;
|
||||
event Windows.Foundation.TypedEventHandler<KeyBindingViewModel, Microsoft.Terminal.Control.KeyChord> DeleteKeyBindingRequested;
|
||||
}
|
||||
|
||||
runtimeclass ActionsViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
ActionsViewModel(Microsoft.Terminal.Settings.Model.CascadiaSettings settings);
|
||||
|
||||
void OnAutomationPeerAttached();
|
||||
void AddNewKeybinding();
|
||||
|
||||
IObservableVector<KeyBindingViewModel> KeyBindingList { get; };
|
||||
event Windows.Foundation.TypedEventHandler<Object, Object> FocusContainer;
|
||||
event Windows.Foundation.TypedEventHandler<Object, Object> UpdateBackground;
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
delegate void AddNewArgs(Guid profile);
|
||||
|
||||
runtimeclass AddProfilePageNavigationState
|
||||
{
|
||||
Microsoft.Terminal.Settings.Model.CascadiaSettings Settings;
|
||||
void RequestAddNew();
|
||||
void RequestDuplicate(Guid profile);
|
||||
event AddNewArgs AddNew;
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass AddProfile : Windows.UI.Xaml.Controls.Page, Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
AddProfile();
|
||||
AddProfilePageNavigationState State { get; };
|
||||
Boolean IsProfileSelected { get; };
|
||||
}
|
||||
}
|
||||
@@ -1,110 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "EnumEntry.idl";
|
||||
import "MainPage.idl";
|
||||
import "ProfileViewModel.idl";
|
||||
import "ColorSchemeViewModel.idl";
|
||||
import "ColorSchemesPageViewModel.idl";
|
||||
|
||||
#include "ViewModelHelpers.idl.h"
|
||||
|
||||
#define OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Type, Name) \
|
||||
OBSERVABLE_PROJECTED_SETTING(Type, Name); \
|
||||
Object Name##OverrideSource { get; }
|
||||
|
||||
#define COMMA ,
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
runtimeclass Font
|
||||
{
|
||||
String Name { get; };
|
||||
String LocalizedName { get; };
|
||||
}
|
||||
|
||||
runtimeclass FontKeyValuePair
|
||||
{
|
||||
UInt32 Key { get; };
|
||||
String KeyDisplayString { get; };
|
||||
Single Value;
|
||||
}
|
||||
|
||||
runtimeclass AppearanceViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
Boolean IsDefault;
|
||||
|
||||
void SetFontWeightFromDouble(Double fontWeight);
|
||||
void SetBackgroundImageOpacityFromPercentageValue(Double percentageValue);
|
||||
void SetBackgroundImagePath(String path);
|
||||
|
||||
Boolean UseDesktopBGImage;
|
||||
Boolean BackgroundImageSettingsVisible { get; };
|
||||
|
||||
void ClearColorScheme();
|
||||
ColorSchemeViewModel CurrentColorScheme;
|
||||
IObservableVector<ColorSchemeViewModel> SchemesList;
|
||||
|
||||
String MissingFontFaces { get; };
|
||||
String ProportionalFontFaces { get; };
|
||||
Boolean HasPowerlineCharacters { get; };
|
||||
|
||||
IObservableVector<FontKeyValuePair> FontAxes { get; };
|
||||
Boolean HasFontAxes { get; };
|
||||
void ClearFontAxes();
|
||||
Object FontAxesOverrideSource { get; };
|
||||
|
||||
IObservableVector<FontKeyValuePair> FontFeatures { get; };
|
||||
Boolean HasFontFeatures { get; };
|
||||
void ClearFontFeatures();
|
||||
Object FontFeaturesOverrideSource { get; };
|
||||
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(String, FontFace);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Single, FontSize);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Double, LineHeight);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Windows.UI.Text.FontWeight, FontWeight);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Boolean, EnableBuiltinGlyphs);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Boolean, EnableColorGlyphs);
|
||||
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(String, DarkColorSchemeName);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(String, LightColorSchemeName);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Boolean, RetroTerminalEffect);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Microsoft.Terminal.Core.CursorStyle, CursorShape);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(UInt32, CursorHeight);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(String, BackgroundImagePath);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Single, BackgroundImageOpacity);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Windows.UI.Xaml.Media.Stretch, BackgroundImageStretchMode);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Microsoft.Terminal.Settings.Model.ConvergedAlignment, BackgroundImageAlignment);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Microsoft.Terminal.Settings.Model.IntenseStyle, IntenseTextStyle);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Microsoft.Terminal.Core.AdjustTextMode, AdjustIndistinguishableColors);
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass Appearances : Windows.UI.Xaml.Controls.UserControl, Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
Appearances();
|
||||
AppearanceViewModel Appearance;
|
||||
ProfileViewModel SourceProfile;
|
||||
IHostedInWindow WindowRoot;
|
||||
static Windows.UI.Xaml.DependencyProperty AppearanceProperty { get; };
|
||||
|
||||
IObservableVector<Font> FilteredFontList { get; };
|
||||
Boolean ShowAllFonts;
|
||||
|
||||
IInspectable CurrentCursorShape;
|
||||
Boolean IsVintageCursor { get; };
|
||||
IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> CursorShapeList { get; };
|
||||
|
||||
IInspectable CurrentAdjustIndistinguishableColors;
|
||||
IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> AdjustIndistinguishableColorsList { get; };
|
||||
|
||||
IInspectable CurrentBackgroundImageStretchMode;
|
||||
IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> BackgroundImageStretchModeList { get; };
|
||||
|
||||
IInspectable CurrentFontWeight;
|
||||
Boolean IsCustomFontWeight { get; };
|
||||
IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> FontWeightList { get; };
|
||||
|
||||
IInspectable CurrentIntenseTextStyle;
|
||||
IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> IntenseTextStyleList { get; };
|
||||
}
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "ColorSchemes.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
runtimeclass ColorSchemeViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged, Windows.Foundation.IStringable
|
||||
{
|
||||
String Name;
|
||||
Boolean IsEditable { get; };
|
||||
Boolean IsDefaultScheme { get; };
|
||||
|
||||
Boolean RequestRename(String newName);
|
||||
|
||||
// Terminal Colors
|
||||
Windows.Foundation.Collections.IVector<ColorTableEntry> NonBrightColorTable;
|
||||
Windows.Foundation.Collections.IVector<ColorTableEntry> BrightColorTable;
|
||||
|
||||
ColorTableEntry ColorEntryAt(UInt32 Index);
|
||||
|
||||
// System Colors
|
||||
ColorTableEntry ForegroundColor;
|
||||
ColorTableEntry BackgroundColor;
|
||||
ColorTableEntry CursorColor;
|
||||
ColorTableEntry SelectionBackgroundColor;
|
||||
|
||||
void DeleteConfirmation_Click(IInspectable sender, Windows.UI.Xaml.RoutedEventArgs args);
|
||||
void SetAsDefault_Click(IInspectable sender, Windows.UI.Xaml.RoutedEventArgs args);
|
||||
void Duplicate_Click(IInspectable sender, Windows.UI.Xaml.RoutedEventArgs args);
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass ColorTableEntry : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
String Name { get; };
|
||||
IInspectable Tag;
|
||||
Windows.UI.Color Color;
|
||||
String AccessibleName { get; };
|
||||
}
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "ColorSchemeViewModel.idl";
|
||||
import "ColorSchemesPageViewModel.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
[default_interface] runtimeclass ColorSchemes : Windows.UI.Xaml.Controls.Page, Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
ColorSchemes();
|
||||
|
||||
ColorSchemesPageViewModel ViewModel { get; };
|
||||
}
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "ColorSchemeViewModel.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
enum ColorSchemesSubPage
|
||||
{
|
||||
Base = 0,
|
||||
EditColorScheme = 1
|
||||
};
|
||||
|
||||
runtimeclass ColorSchemesPageViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
ColorSchemesPageViewModel(Microsoft.Terminal.Settings.Model.CascadiaSettings settings);
|
||||
void UpdateSettings(Microsoft.Terminal.Settings.Model.CascadiaSettings settings);
|
||||
|
||||
ColorSchemeViewModel RequestAddNew();
|
||||
Boolean RequestRenameCurrentScheme(String newName);
|
||||
void RequestDeleteCurrentScheme();
|
||||
void RequestDuplicateCurrentScheme();
|
||||
void RequestEditSelectedScheme();
|
||||
void RequestSetSelectedSchemeAsDefault();
|
||||
|
||||
ColorSchemeViewModel CurrentScheme;
|
||||
Boolean HasCurrentScheme { get; };
|
||||
Boolean CanDeleteCurrentScheme { get; };
|
||||
ColorSchemesSubPage CurrentPage;
|
||||
Windows.Foundation.Collections.IObservableVector<ColorSchemeViewModel> AllColorSchemes { get; };
|
||||
|
||||
void SchemeListItemClicked(IInspectable sender, Windows.UI.Xaml.Controls.ItemClickEventArgs args);
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "ColorSchemeViewModel.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
[default_interface] runtimeclass EditColorScheme : Windows.UI.Xaml.Controls.Page, Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
EditColorScheme();
|
||||
|
||||
ColorSchemeViewModel ViewModel { get; };
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
[default_interface] runtimeclass EnumEntry : Windows.UI.Xaml.Data.INotifyPropertyChanged, Windows.Foundation.IStringable
|
||||
{
|
||||
String EnumName { get; };
|
||||
IInspectable EnumValue { get; };
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "GlobalAppearanceViewModel.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
[default_interface] runtimeclass GlobalAppearance : Windows.UI.Xaml.Controls.Page
|
||||
{
|
||||
GlobalAppearance();
|
||||
GlobalAppearanceViewModel ViewModel { get; };
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "EnumEntry.idl";
|
||||
|
||||
#include "ViewModelHelpers.idl.h"
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
runtimeclass GlobalAppearanceViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
GlobalAppearanceViewModel(Microsoft.Terminal.Settings.Model.GlobalAppSettings globalSettings);
|
||||
|
||||
static String LanguageDisplayConverter(String tag);
|
||||
Boolean LanguageSelectorAvailable { get; };
|
||||
Windows.Foundation.Collections.IObservableVector<String> LanguageList { get; };
|
||||
IInspectable CurrentLanguage;
|
||||
|
||||
IInspectable CurrentTheme;
|
||||
static String ThemeNameConverter(Microsoft.Terminal.Settings.Model.Theme theme);
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Model.Theme> ThemeList { get; };
|
||||
|
||||
IInspectable CurrentNewTabPosition;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> NewTabPositionList { get; };
|
||||
|
||||
IInspectable CurrentTabWidthMode;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> TabWidthModeList { get; };
|
||||
|
||||
Boolean InvertedDisableAnimations;
|
||||
|
||||
void ShowTitlebarToggled(IInspectable sender, Windows.UI.Xaml.RoutedEventArgs args);
|
||||
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, AlwaysShowTabs);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, ShowTabsInTitlebar);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, UseAcrylicInTabRow);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, ShowTitleInTitlebar);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, AlwaysOnTop);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, AutoHideWindow);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, AlwaysShowNotificationIcon);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, MinimizeToNotificationArea);
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "InteractionViewModel.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
[default_interface] runtimeclass Interaction : Windows.UI.Xaml.Controls.Page
|
||||
{
|
||||
Interaction();
|
||||
InteractionViewModel ViewModel { get; };
|
||||
}
|
||||
}
|
||||
@@ -1,29 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "EnumEntry.idl";
|
||||
|
||||
#include "ViewModelHelpers.idl.h"
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
runtimeclass InteractionViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
InteractionViewModel(Microsoft.Terminal.Settings.Model.GlobalAppSettings globalSettings);
|
||||
|
||||
IInspectable CurrentTabSwitcherMode;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> TabSwitcherModeList { get; };
|
||||
|
||||
IInspectable CurrentCopyFormat;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> CopyFormatList { get; };
|
||||
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, CopyOnSelect);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, TrimBlockSelection);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, TrimPaste);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, SnapToGridOnResize);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, FocusFollowMouse);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, DetectURLs);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(String, WordDelimiters);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, ConfirmCloseAllTabs);
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
[default_interface] runtimeclass KeyChordListener : Windows.UI.Xaml.Controls.UserControl
|
||||
{
|
||||
KeyChordListener();
|
||||
|
||||
Microsoft.Terminal.Control.KeyChord Keys;
|
||||
static Windows.UI.Xaml.DependencyProperty KeysProperty { get; };
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "EnumEntry.idl";
|
||||
import "LaunchViewModel.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
[default_interface] runtimeclass Launch : Windows.UI.Xaml.Controls.Page
|
||||
{
|
||||
Launch();
|
||||
LaunchViewModel ViewModel { get; };
|
||||
}
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "EnumEntry.idl";
|
||||
|
||||
#include "ViewModelHelpers.idl.h"
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
runtimeclass LaunchViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
LaunchViewModel(Microsoft.Terminal.Settings.Model.CascadiaSettings settings);
|
||||
|
||||
String LaunchParametersCurrentValue { get; };
|
||||
Double InitialPosX;
|
||||
Double InitialPosY;
|
||||
Boolean UseDefaultLaunchPosition;
|
||||
|
||||
IInspectable CurrentDefaultProfile;
|
||||
IObservableVector<Microsoft.Terminal.Settings.Model.Profile> DefaultProfiles { get; };
|
||||
|
||||
IInspectable CurrentDefaultTerminal;
|
||||
IObservableVector<Microsoft.Terminal.Settings.Model.DefaultTerminal> DefaultTerminals { get; };
|
||||
|
||||
IInspectable CurrentFirstWindowPreference;
|
||||
IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> FirstWindowPreferenceList { get; };
|
||||
|
||||
IInspectable CurrentLaunchMode;
|
||||
IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> LaunchModeList { get; };
|
||||
|
||||
IInspectable CurrentWindowingBehavior;
|
||||
IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> WindowingBehaviorList { get; };
|
||||
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, CenterOnLaunch);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, StartOnUserLogin);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Int32, InitialRows);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Int32, InitialCols);
|
||||
}
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
// Due to a XAML Compiler bug, it is hard for us to propagate an HWND into a XAML-using runtimeclass.
|
||||
// To work around that, we'll only propagate the HWND (when we need to) into the settings' toplevel page
|
||||
// and use IHostedInWindow to hide the implementation detail where we use IInitializeWithWindow (shobjidl_core)
|
||||
// https://github.com/microsoft/microsoft-ui-xaml/issues/3331
|
||||
interface IHostedInWindow
|
||||
{
|
||||
Boolean TryPropagateHostingWindow(IInspectable i);
|
||||
UInt64 GetHostingWindow();
|
||||
}
|
||||
|
||||
enum BreadcrumbSubPage
|
||||
{
|
||||
None = 0,
|
||||
Profile_Appearance,
|
||||
Profile_Advanced,
|
||||
ColorSchemes_Edit
|
||||
};
|
||||
|
||||
runtimeclass Breadcrumb : Windows.Foundation.IStringable
|
||||
{
|
||||
IInspectable Tag;
|
||||
String Label;
|
||||
BreadcrumbSubPage SubPage;
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass MainPage : Windows.UI.Xaml.Controls.Page, IHostedInWindow
|
||||
{
|
||||
MainPage(Microsoft.Terminal.Settings.Model.CascadiaSettings settings);
|
||||
|
||||
void UpdateSettings(Microsoft.Terminal.Settings.Model.CascadiaSettings settings);
|
||||
event Windows.Foundation.TypedEventHandler<Object, Microsoft.Terminal.Settings.Model.SettingsTarget> OpenJson;
|
||||
|
||||
// Due to the aforementioned bug, we can't use IInitializeWithWindow _here_ either.
|
||||
// Let's just smuggle the HWND in as a UInt64 :|
|
||||
void SetHostingWindow(UInt64 window);
|
||||
|
||||
Windows.Foundation.Collections.IObservableVector<IInspectable> Breadcrumbs { get; };
|
||||
|
||||
Windows.UI.Xaml.Media.Brush BackgroundBrush { get; };
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,576 @@
|
||||
#include "ViewModelHelpers.idl.h"
|
||||
|
||||
#define OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Type, Name) \
|
||||
OBSERVABLE_PROJECTED_SETTING(Type, Name); \
|
||||
Object Name##OverrideSource { get; }
|
||||
|
||||
#define OBSERVABLE_PROJECTED_PROFILE_SETTING(Type, Name) \
|
||||
OBSERVABLE_PROJECTED_SETTING(Type, Name); \
|
||||
Object Name##OverrideSource { get; }
|
||||
|
||||
#define COMMA ,
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
[default_interface] runtimeclass Actions : Windows.UI.Xaml.Controls.Page
|
||||
{
|
||||
Actions();
|
||||
ActionsViewModel ViewModel { get; };
|
||||
}
|
||||
|
||||
runtimeclass ModifyKeyBindingEventArgs
|
||||
{
|
||||
Microsoft.Terminal.Control.KeyChord OldKeys { get; };
|
||||
Microsoft.Terminal.Control.KeyChord NewKeys { get; };
|
||||
String OldActionName { get; };
|
||||
String NewActionName { get; };
|
||||
}
|
||||
|
||||
runtimeclass KeyBindingViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
// Settings Model side
|
||||
String Name { get; };
|
||||
String KeyChordText { get; };
|
||||
|
||||
// UI side
|
||||
Boolean ShowEditButton { get; };
|
||||
Boolean IsInEditMode { get; };
|
||||
Boolean IsNewlyAdded { get; };
|
||||
Microsoft.Terminal.Control.KeyChord ProposedKeys;
|
||||
Object ProposedAction;
|
||||
Windows.UI.Xaml.Controls.Flyout AcceptChangesFlyout;
|
||||
String EditButtonName { get; };
|
||||
String CancelButtonName { get; };
|
||||
String AcceptButtonName { get; };
|
||||
String DeleteButtonName { get; };
|
||||
Windows.UI.Xaml.Media.Brush ContainerBackground { get; };
|
||||
|
||||
void EnterHoverMode();
|
||||
void ExitHoverMode();
|
||||
void ActionGotFocus();
|
||||
void ActionLostFocus();
|
||||
void EditButtonGettingFocus();
|
||||
void EditButtonLosingFocus();
|
||||
IObservableVector<String> AvailableActions { get; };
|
||||
void ToggleEditMode();
|
||||
void AttemptAcceptChanges();
|
||||
void CancelChanges();
|
||||
void DeleteKeyBinding();
|
||||
|
||||
event Windows.Foundation.TypedEventHandler<KeyBindingViewModel, ModifyKeyBindingEventArgs> ModifyKeyBindingRequested;
|
||||
event Windows.Foundation.TypedEventHandler<KeyBindingViewModel, Microsoft.Terminal.Control.KeyChord> DeleteKeyBindingRequested;
|
||||
}
|
||||
|
||||
runtimeclass ActionsViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
ActionsViewModel(Microsoft.Terminal.Settings.Model.CascadiaSettings settings);
|
||||
|
||||
void OnAutomationPeerAttached();
|
||||
void AddNewKeybinding();
|
||||
|
||||
IObservableVector<KeyBindingViewModel> KeyBindingList { get; };
|
||||
event Windows.Foundation.TypedEventHandler<Object, Object> FocusContainer;
|
||||
event Windows.Foundation.TypedEventHandler<Object, Object> UpdateBackground;
|
||||
}
|
||||
|
||||
delegate void AddNewArgs(Guid profile);
|
||||
|
||||
runtimeclass AddProfilePageNavigationState
|
||||
{
|
||||
Microsoft.Terminal.Settings.Model.CascadiaSettings Settings;
|
||||
void RequestAddNew();
|
||||
void RequestDuplicate(Guid profile);
|
||||
event AddNewArgs AddNew;
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass AddProfile : Windows.UI.Xaml.Controls.Page, Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
AddProfile();
|
||||
AddProfilePageNavigationState State { get; };
|
||||
Boolean IsProfileSelected { get; };
|
||||
}
|
||||
|
||||
runtimeclass Font
|
||||
{
|
||||
String Name { get; };
|
||||
String LocalizedName { get; };
|
||||
}
|
||||
|
||||
runtimeclass FontKeyValuePair
|
||||
{
|
||||
UInt32 Key { get; };
|
||||
String KeyDisplayString { get; };
|
||||
Single Value;
|
||||
}
|
||||
|
||||
runtimeclass AppearanceViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
Boolean IsDefault;
|
||||
|
||||
void SetFontWeightFromDouble(Double fontWeight);
|
||||
void SetBackgroundImageOpacityFromPercentageValue(Double percentageValue);
|
||||
void SetBackgroundImagePath(String path);
|
||||
|
||||
Boolean UseDesktopBGImage;
|
||||
Boolean BackgroundImageSettingsVisible { get; };
|
||||
|
||||
void ClearColorScheme();
|
||||
ColorSchemeViewModel CurrentColorScheme;
|
||||
IObservableVector<ColorSchemeViewModel> SchemesList;
|
||||
|
||||
String MissingFontFaces { get; };
|
||||
String ProportionalFontFaces { get; };
|
||||
Boolean HasPowerlineCharacters { get; };
|
||||
|
||||
IObservableVector<FontKeyValuePair> FontAxes { get; };
|
||||
Boolean HasFontAxes { get; };
|
||||
void ClearFontAxes();
|
||||
Object FontAxesOverrideSource { get; };
|
||||
|
||||
IObservableVector<FontKeyValuePair> FontFeatures { get; };
|
||||
Boolean HasFontFeatures { get; };
|
||||
void ClearFontFeatures();
|
||||
Object FontFeaturesOverrideSource { get; };
|
||||
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(String, FontFace);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Single, FontSize);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Double, LineHeight);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Windows.UI.Text.FontWeight, FontWeight);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Boolean, EnableBuiltinGlyphs);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Boolean, EnableColorGlyphs);
|
||||
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(String, DarkColorSchemeName);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(String, LightColorSchemeName);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Boolean, RetroTerminalEffect);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Microsoft.Terminal.Core.CursorStyle, CursorShape);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(UInt32, CursorHeight);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(String, BackgroundImagePath);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Single, BackgroundImageOpacity);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Windows.UI.Xaml.Media.Stretch, BackgroundImageStretchMode);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Microsoft.Terminal.Settings.Model.ConvergedAlignment, BackgroundImageAlignment);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Microsoft.Terminal.Settings.Model.IntenseStyle, IntenseTextStyle);
|
||||
OBSERVABLE_PROJECTED_APPEARANCE_SETTING(Microsoft.Terminal.Core.AdjustTextMode, AdjustIndistinguishableColors);
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass Appearances : Windows.UI.Xaml.Controls.UserControl, Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
Appearances();
|
||||
AppearanceViewModel Appearance;
|
||||
ProfileViewModel SourceProfile;
|
||||
IHostedInWindow WindowRoot;
|
||||
static Windows.UI.Xaml.DependencyProperty AppearanceProperty { get; };
|
||||
|
||||
IObservableVector<Font> FilteredFontList { get; };
|
||||
Boolean ShowAllFonts;
|
||||
|
||||
IInspectable CurrentCursorShape;
|
||||
Boolean IsVintageCursor { get; };
|
||||
IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> CursorShapeList { get; };
|
||||
|
||||
IInspectable CurrentAdjustIndistinguishableColors;
|
||||
IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> AdjustIndistinguishableColorsList { get; };
|
||||
|
||||
IInspectable CurrentBackgroundImageStretchMode;
|
||||
IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> BackgroundImageStretchModeList { get; };
|
||||
|
||||
IInspectable CurrentFontWeight;
|
||||
Boolean IsCustomFontWeight { get; };
|
||||
IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> FontWeightList { get; };
|
||||
|
||||
IInspectable CurrentIntenseTextStyle;
|
||||
IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> IntenseTextStyleList { get; };
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass ColorSchemes : Windows.UI.Xaml.Controls.Page, Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
ColorSchemes();
|
||||
|
||||
ColorSchemesPageViewModel ViewModel { get; };
|
||||
}
|
||||
|
||||
enum ColorSchemesSubPage
|
||||
{
|
||||
Base = 0,
|
||||
EditColorScheme = 1
|
||||
};
|
||||
|
||||
runtimeclass ColorSchemesPageViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
ColorSchemesPageViewModel(Microsoft.Terminal.Settings.Model.CascadiaSettings settings);
|
||||
void UpdateSettings(Microsoft.Terminal.Settings.Model.CascadiaSettings settings);
|
||||
|
||||
ColorSchemeViewModel RequestAddNew();
|
||||
Boolean RequestRenameCurrentScheme(String newName);
|
||||
void RequestDeleteCurrentScheme();
|
||||
void RequestDuplicateCurrentScheme();
|
||||
void RequestEditSelectedScheme();
|
||||
void RequestSetSelectedSchemeAsDefault();
|
||||
|
||||
ColorSchemeViewModel CurrentScheme;
|
||||
Boolean HasCurrentScheme { get; };
|
||||
Boolean CanDeleteCurrentScheme { get; };
|
||||
ColorSchemesSubPage CurrentPage;
|
||||
Windows.Foundation.Collections.IObservableVector<ColorSchemeViewModel> AllColorSchemes { get; };
|
||||
|
||||
void SchemeListItemClicked(IInspectable sender, Windows.UI.Xaml.Controls.ItemClickEventArgs args);
|
||||
}
|
||||
|
||||
runtimeclass ColorSchemeViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged, Windows.Foundation.IStringable
|
||||
{
|
||||
String Name;
|
||||
Boolean IsEditable { get; };
|
||||
Boolean IsDefaultScheme { get; };
|
||||
|
||||
Boolean RequestRename(String newName);
|
||||
|
||||
// Terminal Colors
|
||||
Windows.Foundation.Collections.IVector<ColorTableEntry> NonBrightColorTable;
|
||||
Windows.Foundation.Collections.IVector<ColorTableEntry> BrightColorTable;
|
||||
|
||||
ColorTableEntry ColorEntryAt(UInt32 Index);
|
||||
|
||||
// System Colors
|
||||
ColorTableEntry ForegroundColor;
|
||||
ColorTableEntry BackgroundColor;
|
||||
ColorTableEntry CursorColor;
|
||||
ColorTableEntry SelectionBackgroundColor;
|
||||
|
||||
void DeleteConfirmation_Click(IInspectable sender, Windows.UI.Xaml.RoutedEventArgs args);
|
||||
void SetAsDefault_Click(IInspectable sender, Windows.UI.Xaml.RoutedEventArgs args);
|
||||
void Duplicate_Click(IInspectable sender, Windows.UI.Xaml.RoutedEventArgs args);
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass ColorTableEntry : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
String Name { get; };
|
||||
IInspectable Tag;
|
||||
Windows.UI.Color Color;
|
||||
String AccessibleName { get; };
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass EditColorScheme : Windows.UI.Xaml.Controls.Page, Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
EditColorScheme();
|
||||
|
||||
ColorSchemeViewModel ViewModel { get; };
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass EnumEntry : Windows.UI.Xaml.Data.INotifyPropertyChanged, Windows.Foundation.IStringable
|
||||
{
|
||||
String EnumName { get; };
|
||||
IInspectable EnumValue { get; };
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass GlobalAppearance : Windows.UI.Xaml.Controls.Page
|
||||
{
|
||||
GlobalAppearance();
|
||||
GlobalAppearanceViewModel ViewModel { get; };
|
||||
}
|
||||
|
||||
runtimeclass GlobalAppearanceViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
GlobalAppearanceViewModel(Microsoft.Terminal.Settings.Model.GlobalAppSettings globalSettings);
|
||||
|
||||
static String LanguageDisplayConverter(String tag);
|
||||
Boolean LanguageSelectorAvailable { get; };
|
||||
Windows.Foundation.Collections.IObservableVector<String> LanguageList { get; };
|
||||
IInspectable CurrentLanguage;
|
||||
|
||||
IInspectable CurrentTheme;
|
||||
static String ThemeNameConverter(Microsoft.Terminal.Settings.Model.Theme theme);
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Model.Theme> ThemeList { get; };
|
||||
|
||||
IInspectable CurrentNewTabPosition;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> NewTabPositionList { get; };
|
||||
|
||||
IInspectable CurrentTabWidthMode;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> TabWidthModeList { get; };
|
||||
|
||||
Boolean InvertedDisableAnimations;
|
||||
|
||||
void ShowTitlebarToggled(IInspectable sender, Windows.UI.Xaml.RoutedEventArgs args);
|
||||
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, AlwaysShowTabs);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, ShowTabsInTitlebar);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, UseAcrylicInTabRow);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, ShowTitleInTitlebar);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, AlwaysOnTop);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, AutoHideWindow);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, AlwaysShowNotificationIcon);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, MinimizeToNotificationArea);
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass Interaction : Windows.UI.Xaml.Controls.Page
|
||||
{
|
||||
Interaction();
|
||||
InteractionViewModel ViewModel { get; };
|
||||
}
|
||||
|
||||
runtimeclass InteractionViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
InteractionViewModel(Microsoft.Terminal.Settings.Model.GlobalAppSettings globalSettings);
|
||||
|
||||
IInspectable CurrentTabSwitcherMode;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> TabSwitcherModeList { get; };
|
||||
|
||||
IInspectable CurrentCopyFormat;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> CopyFormatList { get; };
|
||||
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, CopyOnSelect);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, TrimBlockSelection);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, TrimPaste);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, SnapToGridOnResize);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, FocusFollowMouse);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, DetectURLs);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(String, WordDelimiters);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, ConfirmCloseAllTabs);
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass KeyChordListener : Windows.UI.Xaml.Controls.UserControl
|
||||
{
|
||||
KeyChordListener();
|
||||
|
||||
Microsoft.Terminal.Control.KeyChord Keys;
|
||||
static Windows.UI.Xaml.DependencyProperty KeysProperty { get; };
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass Launch : Windows.UI.Xaml.Controls.Page
|
||||
{
|
||||
Launch();
|
||||
LaunchViewModel ViewModel { get; };
|
||||
}
|
||||
|
||||
runtimeclass LaunchViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
LaunchViewModel(Microsoft.Terminal.Settings.Model.CascadiaSettings settings);
|
||||
|
||||
String LaunchParametersCurrentValue { get; };
|
||||
Double InitialPosX;
|
||||
Double InitialPosY;
|
||||
Boolean UseDefaultLaunchPosition;
|
||||
|
||||
IInspectable CurrentDefaultProfile;
|
||||
IObservableVector<Microsoft.Terminal.Settings.Model.Profile> DefaultProfiles { get; };
|
||||
|
||||
IInspectable CurrentDefaultTerminal;
|
||||
IObservableVector<Microsoft.Terminal.Settings.Model.DefaultTerminal> DefaultTerminals { get; };
|
||||
|
||||
IInspectable CurrentFirstWindowPreference;
|
||||
IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> FirstWindowPreferenceList { get; };
|
||||
|
||||
IInspectable CurrentLaunchMode;
|
||||
IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> LaunchModeList { get; };
|
||||
|
||||
IInspectable CurrentWindowingBehavior;
|
||||
IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> WindowingBehaviorList { get; };
|
||||
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, CenterOnLaunch);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, StartOnUserLogin);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Int32, InitialRows);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Int32, InitialCols);
|
||||
}
|
||||
|
||||
// Due to a XAML Compiler bug, it is hard for us to propagate an HWND into a XAML-using runtimeclass.
|
||||
// To work around that, we'll only propagate the HWND (when we need to) into the settings' toplevel page
|
||||
// and use IHostedInWindow to hide the implementation detail where we use IInitializeWithWindow (shobjidl_core)
|
||||
// https://github.com/microsoft/microsoft-ui-xaml/issues/3331
|
||||
interface IHostedInWindow
|
||||
{
|
||||
Boolean TryPropagateHostingWindow(IInspectable i);
|
||||
UInt64 GetHostingWindow();
|
||||
}
|
||||
|
||||
enum BreadcrumbSubPage
|
||||
{
|
||||
None = 0,
|
||||
Profile_Appearance,
|
||||
Profile_Advanced,
|
||||
ColorSchemes_Edit
|
||||
};
|
||||
|
||||
runtimeclass Breadcrumb : Windows.Foundation.IStringable
|
||||
{
|
||||
IInspectable Tag;
|
||||
String Label;
|
||||
BreadcrumbSubPage SubPage;
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass MainPage : Windows.UI.Xaml.Controls.Page, IHostedInWindow
|
||||
{
|
||||
MainPage(Microsoft.Terminal.Settings.Model.CascadiaSettings settings);
|
||||
|
||||
void UpdateSettings(Microsoft.Terminal.Settings.Model.CascadiaSettings settings);
|
||||
event Windows.Foundation.TypedEventHandler<Object, Microsoft.Terminal.Settings.Model.SettingsTarget> OpenJson;
|
||||
|
||||
// Due to the aforementioned bug, we can't use IInitializeWithWindow _here_ either.
|
||||
// Let's just smuggle the HWND in as a UInt64 :|
|
||||
void SetHostingWindow(UInt64 window);
|
||||
|
||||
Windows.Foundation.Collections.IObservableVector<IInspectable> Breadcrumbs { get; };
|
||||
|
||||
Windows.UI.Xaml.Media.Brush BackgroundBrush { get; };
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass Profiles_Advanced : Windows.UI.Xaml.Controls.Page, Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
Profiles_Advanced();
|
||||
ProfileViewModel Profile { get; };
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass Profiles_Appearance : Windows.UI.Xaml.Controls.Page, Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
Profiles_Appearance();
|
||||
ProfileViewModel Profile { get; };
|
||||
IHostedInWindow WindowRoot { get; };
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass Profiles_Base : Windows.UI.Xaml.Controls.Page, Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
Profiles_Base();
|
||||
ProfileViewModel Profile { get; };
|
||||
}
|
||||
|
||||
runtimeclass NavigateToProfileArgs
|
||||
{
|
||||
ProfileViewModel Profile { get; };
|
||||
IHostedInWindow WindowRoot { get; };
|
||||
}
|
||||
|
||||
runtimeclass DeleteProfileEventArgs
|
||||
{
|
||||
Guid ProfileGuid { get; };
|
||||
}
|
||||
|
||||
enum ProfileSubPage
|
||||
{
|
||||
Base = 0,
|
||||
Appearance = 1,
|
||||
Advanced = 2
|
||||
};
|
||||
|
||||
runtimeclass ProfileViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
Microsoft.Terminal.Settings.Model.TerminalSettings TermSettings { get; };
|
||||
|
||||
event Windows.Foundation.TypedEventHandler<ProfileViewModel, DeleteProfileEventArgs> DeleteProfileRequested;
|
||||
|
||||
void SetupAppearances(Windows.Foundation.Collections.IObservableVector<ColorSchemeViewModel> schemesList);
|
||||
|
||||
void SetAcrylicOpacityPercentageValue(Double value);
|
||||
void SetPadding(Double value);
|
||||
|
||||
Boolean IsBellStyleFlagSet(UInt32 flag);
|
||||
void SetBellStyleAudible(Windows.Foundation.IReference<Boolean> on);
|
||||
void SetBellStyleWindow(Windows.Foundation.IReference<Boolean> on);
|
||||
void SetBellStyleTaskbar(Windows.Foundation.IReference<Boolean> on);
|
||||
|
||||
IInspectable CurrentAntiAliasingMode;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> AntiAliasingModeList { get; };
|
||||
|
||||
IInspectable CurrentCloseOnExitMode;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> CloseOnExitModeList { get; };
|
||||
|
||||
IInspectable CurrentScrollState;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> ScrollStateList { get; };
|
||||
|
||||
Boolean CanDeleteProfile { get; };
|
||||
Boolean FocusDeleteButton;
|
||||
Boolean IsBaseLayer;
|
||||
ProfileSubPage CurrentPage;
|
||||
Boolean UseParentProcessDirectory;
|
||||
Boolean UseCustomStartingDirectory { get; };
|
||||
Boolean HideIcon;
|
||||
AppearanceViewModel DefaultAppearance { get; };
|
||||
Guid OriginalProfileGuid { get; };
|
||||
Boolean HasUnfocusedAppearance { get; };
|
||||
Boolean EditableUnfocusedAppearance { get; };
|
||||
Boolean ShowUnfocusedAppearance { get; };
|
||||
AppearanceViewModel UnfocusedAppearance { get; };
|
||||
|
||||
Boolean ShowMarksAvailable { get; };
|
||||
Boolean AutoMarkPromptsAvailable { get; };
|
||||
Boolean RepositionCursorWithMouseAvailable { get; };
|
||||
|
||||
String EvaluatedIcon { get; };
|
||||
|
||||
void CreateUnfocusedAppearance();
|
||||
void DeleteUnfocusedAppearance();
|
||||
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, Name);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Guid, Guid);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, Source);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Guid, ConnectionType);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, Hidden);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, Icon);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Microsoft.Terminal.Settings.Model.CloseOnExitMode, CloseOnExit);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, TabTitle);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference<Microsoft.Terminal.Core.Color>, TabColor);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, SuppressApplicationTitle);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, UseAcrylic);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Single, Opacity);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Microsoft.Terminal.Control.ScrollbarState, ScrollState);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, Padding);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, Commandline);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, StartingDirectory);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Microsoft.Terminal.Control.TextAntialiasingMode, AntialiasingMode);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference<Microsoft.Terminal.Core.Color>, Foreground);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference<Microsoft.Terminal.Core.Color>, Background);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference<Microsoft.Terminal.Core.Color>, SelectionBackground);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference<Microsoft.Terminal.Core.Color>, CursorColor);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Int32, HistorySize);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, SnapOnInput);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, AltGrAliasing);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Microsoft.Terminal.Settings.Model.BellStyle, BellStyle);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, Elevate);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, ReloadEnvironmentVariables);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, RightClickContextMenu);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, ShowMarks);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, AutoMarkPrompts);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, RepositionCursorWithMouse);
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass Rendering : Windows.UI.Xaml.Controls.Page
|
||||
{
|
||||
Rendering();
|
||||
RenderingViewModel ViewModel { get; };
|
||||
}
|
||||
|
||||
runtimeclass RenderingViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
RenderingViewModel(Microsoft.Terminal.Settings.Model.CascadiaSettings settings);
|
||||
|
||||
IInspectable CurrentGraphicsAPI;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> GraphicsAPIList { get; };
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, DisablePartialInvalidation);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, SoftwareRendering);
|
||||
IInspectable CurrentTextMeasurement;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> TextMeasurementList { get; };
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass SettingContainer : Windows.UI.Xaml.Controls.ContentControl
|
||||
{
|
||||
SettingContainer();
|
||||
|
||||
void SetExpanded(Boolean expanded);
|
||||
|
||||
IInspectable Header;
|
||||
static Windows.UI.Xaml.DependencyProperty HeaderProperty { get; };
|
||||
|
||||
String HelpText;
|
||||
static Windows.UI.Xaml.DependencyProperty HelpTextProperty { get; };
|
||||
|
||||
String CurrentValue;
|
||||
static Windows.UI.Xaml.DependencyProperty CurrentValueProperty { get; };
|
||||
|
||||
Boolean HasSettingValue;
|
||||
static Windows.UI.Xaml.DependencyProperty HasSettingValueProperty { get; };
|
||||
|
||||
IInspectable SettingOverrideSource;
|
||||
static Windows.UI.Xaml.DependencyProperty SettingOverrideSourceProperty { get; };
|
||||
|
||||
Boolean StartExpanded;
|
||||
static Windows.UI.Xaml.DependencyProperty StartExpandedProperty { get; };
|
||||
|
||||
event Windows.Foundation.TypedEventHandler<SettingContainer, Object> ClearSettingValue;
|
||||
};
|
||||
}
|
||||
@@ -48,7 +48,6 @@
|
||||
<DependentUpon>AddProfile.xaml</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="EnumEntry.h">
|
||||
<DependentUpon>EnumEntry.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="GlobalAppearance.h">
|
||||
<DependentUpon>GlobalAppearance.xaml</DependentUpon>
|
||||
@@ -75,35 +74,27 @@
|
||||
<DependentUpon>MainPage.xaml</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ProfileViewModel.h">
|
||||
<DependentUpon>ProfileViewModel.idl</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ActionsViewModel.h">
|
||||
<DependentUpon>ActionsViewModel.idl</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ColorSchemeViewModel.h">
|
||||
<DependentUpon>ColorSchemeViewModel.idl</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ColorSchemesPageViewModel.h">
|
||||
<DependentUpon>ColorSchemesPageViewModel.idl</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</ClInclude>
|
||||
<ClInclude Include="RenderingViewModel.h">
|
||||
<DependentUpon>RenderingViewModel.idl</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</ClInclude>
|
||||
<ClInclude Include="InteractionViewModel.h">
|
||||
<DependentUpon>InteractionViewModel.idl</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</ClInclude>
|
||||
<ClInclude Include="GlobalAppearanceViewModel.h">
|
||||
<DependentUpon>GlobalAppearanceViewModel.idl</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</ClInclude>
|
||||
<ClInclude Include="LaunchViewModel.h">
|
||||
<DependentUpon>LaunchViewModel.idl</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Profiles_Base.h">
|
||||
@@ -126,7 +117,6 @@
|
||||
<DependentUpon>Rendering.xaml</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="SettingContainer.h">
|
||||
<DependentUpon>SettingContainer.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Utils.h" />
|
||||
<ClInclude Include="PreviewConnection.h" />
|
||||
@@ -218,35 +208,27 @@
|
||||
</ClCompile>
|
||||
<ClCompile Include="$(GeneratedFilesDir)module.g.cpp" />
|
||||
<ClCompile Include="ProfileViewModel.cpp">
|
||||
<DependentUpon>ProfileViewModel.idl</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ActionsViewModel.cpp">
|
||||
<DependentUpon>ActionsViewModel.idl</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ColorSchemeViewModel.cpp">
|
||||
<DependentUpon>ColorSchemeViewModel.idl</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ColorSchemesPageViewModel.cpp">
|
||||
<DependentUpon>ColorSchemesPageViewModel.idl</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</ClCompile>
|
||||
<ClCompile Include="RenderingViewModel.cpp">
|
||||
<DependentUpon>RenderingViewModel.idl</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</ClCompile>
|
||||
<ClCompile Include="InteractionViewModel.cpp">
|
||||
<DependentUpon>InteractionViewModel.idl</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</ClCompile>
|
||||
<ClCompile Include="GlobalAppearanceViewModel.cpp">
|
||||
<DependentUpon>GlobalAppearanceViewModel.idl</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</ClCompile>
|
||||
<ClCompile Include="LaunchViewModel.cpp">
|
||||
<DependentUpon>LaunchViewModel.idl</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Profiles_Base.cpp">
|
||||
@@ -269,7 +251,6 @@
|
||||
<DependentUpon>Rendering.xaml</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SettingContainer.cpp">
|
||||
<DependentUpon>SettingContainer.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Utils.cpp" />
|
||||
<ClCompile Include="PreviewConnection.cpp">
|
||||
@@ -278,71 +259,7 @@
|
||||
</ItemGroup>
|
||||
<!-- ========================= idl Files ======================== -->
|
||||
<ItemGroup>
|
||||
<Midl Include="Actions.idl">
|
||||
<DependentUpon>Actions.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Midl>
|
||||
<Midl Include="AddProfile.idl">
|
||||
<DependentUpon>AddProfile.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Midl>
|
||||
<Midl Include="EnumEntry.idl" />
|
||||
<Midl Include="GlobalAppearance.idl">
|
||||
<DependentUpon>GlobalAppearance.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Midl>
|
||||
<Midl Include="ColorSchemes.idl">
|
||||
<DependentUpon>ColorSchemes.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Midl>
|
||||
<Midl Include="EditColorScheme.idl">
|
||||
<DependentUpon>EditColorScheme.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Midl>
|
||||
<Midl Include="KeyChordListener.idl">
|
||||
<DependentUpon>KeyChordListener.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Midl>
|
||||
<Midl Include="Launch.idl">
|
||||
<DependentUpon>Launch.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Midl>
|
||||
<Midl Include="Interaction.idl">
|
||||
<DependentUpon>Interaction.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Midl>
|
||||
<Midl Include="Rendering.idl">
|
||||
<DependentUpon>Rendering.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Midl>
|
||||
<Midl Include="MainPage.idl">
|
||||
<DependentUpon>MainPage.xaml</DependentUpon>
|
||||
</Midl>
|
||||
<Midl Include="ProfileViewModel.idl" />
|
||||
<Midl Include="ActionsViewModel.idl" />
|
||||
<Midl Include="ColorSchemeViewModel.idl" />
|
||||
<Midl Include="ColorSchemesPageViewModel.idl" />
|
||||
<Midl Include="RenderingViewModel.idl" />
|
||||
<Midl Include="InteractionViewModel.idl" />
|
||||
<Midl Include="GlobalAppearanceViewModel.idl" />
|
||||
<Midl Include="LaunchViewModel.idl" />
|
||||
<Midl Include="Profiles_Base.idl">
|
||||
<DependentUpon>Profiles_Base.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Midl>
|
||||
<Midl Include="Profiles_Advanced.idl">
|
||||
<DependentUpon>Profiles_Advanced.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Midl>
|
||||
<Midl Include="Profiles_Appearance.idl">
|
||||
<DependentUpon>Profiles_Appearance.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Midl>
|
||||
<Midl Include="Appearances.idl">
|
||||
<DependentUpon>Appearances.xaml</DependentUpon>
|
||||
<SubType>Code</SubType>
|
||||
</Midl>
|
||||
<Midl Include="SettingContainer.idl">
|
||||
<Midl Include="Microsoft.Terminal.Settings.Editor.idl">
|
||||
<SubType>Code</SubType>
|
||||
</Midl>
|
||||
</ItemGroup>
|
||||
|
||||
@@ -1,115 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "EnumEntry.idl";
|
||||
import "MainPage.idl";
|
||||
import "Appearances.idl";
|
||||
import "ColorSchemesPageViewModel.idl";
|
||||
|
||||
#include "ViewModelHelpers.idl.h"
|
||||
|
||||
#define OBSERVABLE_PROJECTED_PROFILE_SETTING(Type, Name) \
|
||||
OBSERVABLE_PROJECTED_SETTING(Type, Name); \
|
||||
Object Name##OverrideSource { get; }
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
runtimeclass NavigateToProfileArgs
|
||||
{
|
||||
ProfileViewModel Profile { get; };
|
||||
IHostedInWindow WindowRoot { get; };
|
||||
}
|
||||
|
||||
runtimeclass DeleteProfileEventArgs
|
||||
{
|
||||
Guid ProfileGuid { get; };
|
||||
}
|
||||
|
||||
enum ProfileSubPage
|
||||
{
|
||||
Base = 0,
|
||||
Appearance = 1,
|
||||
Advanced = 2
|
||||
};
|
||||
|
||||
runtimeclass ProfileViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
Microsoft.Terminal.Settings.Model.TerminalSettings TermSettings { get; };
|
||||
|
||||
event Windows.Foundation.TypedEventHandler<ProfileViewModel, DeleteProfileEventArgs> DeleteProfileRequested;
|
||||
|
||||
void SetupAppearances(Windows.Foundation.Collections.IObservableVector<ColorSchemeViewModel> schemesList);
|
||||
|
||||
void SetAcrylicOpacityPercentageValue(Double value);
|
||||
void SetPadding(Double value);
|
||||
|
||||
Boolean IsBellStyleFlagSet(UInt32 flag);
|
||||
void SetBellStyleAudible(Windows.Foundation.IReference<Boolean> on);
|
||||
void SetBellStyleWindow(Windows.Foundation.IReference<Boolean> on);
|
||||
void SetBellStyleTaskbar(Windows.Foundation.IReference<Boolean> on);
|
||||
|
||||
IInspectable CurrentAntiAliasingMode;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> AntiAliasingModeList { get; };
|
||||
|
||||
IInspectable CurrentCloseOnExitMode;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> CloseOnExitModeList { get; };
|
||||
|
||||
IInspectable CurrentScrollState;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> ScrollStateList { get; };
|
||||
|
||||
Boolean CanDeleteProfile { get; };
|
||||
Boolean FocusDeleteButton;
|
||||
Boolean IsBaseLayer;
|
||||
ProfileSubPage CurrentPage;
|
||||
Boolean UseParentProcessDirectory;
|
||||
Boolean UseCustomStartingDirectory { get; };
|
||||
Boolean HideIcon;
|
||||
AppearanceViewModel DefaultAppearance { get; };
|
||||
Guid OriginalProfileGuid { get; };
|
||||
Boolean HasUnfocusedAppearance { get; };
|
||||
Boolean EditableUnfocusedAppearance { get; };
|
||||
Boolean ShowUnfocusedAppearance { get; };
|
||||
AppearanceViewModel UnfocusedAppearance { get; };
|
||||
|
||||
Boolean ShowMarksAvailable { get; };
|
||||
Boolean AutoMarkPromptsAvailable { get; };
|
||||
Boolean RepositionCursorWithMouseAvailable { get; };
|
||||
|
||||
String EvaluatedIcon { get; };
|
||||
|
||||
void CreateUnfocusedAppearance();
|
||||
void DeleteUnfocusedAppearance();
|
||||
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, Name);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Guid, Guid);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, Source);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Guid, ConnectionType);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, Hidden);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, Icon);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Microsoft.Terminal.Settings.Model.CloseOnExitMode, CloseOnExit);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, TabTitle);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference<Microsoft.Terminal.Core.Color>, TabColor);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, SuppressApplicationTitle);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, UseAcrylic);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Single, Opacity);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Microsoft.Terminal.Control.ScrollbarState, ScrollState);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, Padding);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, Commandline);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(String, StartingDirectory);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Microsoft.Terminal.Control.TextAntialiasingMode, AntialiasingMode);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference<Microsoft.Terminal.Core.Color>, Foreground);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference<Microsoft.Terminal.Core.Color>, Background);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference<Microsoft.Terminal.Core.Color>, SelectionBackground);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Windows.Foundation.IReference<Microsoft.Terminal.Core.Color>, CursorColor);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Int32, HistorySize);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, SnapOnInput);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, AltGrAliasing);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Microsoft.Terminal.Settings.Model.BellStyle, BellStyle);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, Elevate);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, ReloadEnvironmentVariables);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, RightClickContextMenu);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, ShowMarks);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, AutoMarkPrompts);
|
||||
OBSERVABLE_PROJECTED_PROFILE_SETTING(Boolean, RepositionCursorWithMouse);
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "ProfileViewModel.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
[default_interface] runtimeclass Profiles_Advanced : Windows.UI.Xaml.Controls.Page, Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
Profiles_Advanced();
|
||||
ProfileViewModel Profile { get; };
|
||||
}
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "ProfileViewModel.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
[default_interface] runtimeclass Profiles_Appearance : Windows.UI.Xaml.Controls.Page, Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
Profiles_Appearance();
|
||||
ProfileViewModel Profile { get; };
|
||||
IHostedInWindow WindowRoot { get; };
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "ProfileViewModel.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
[default_interface] runtimeclass Profiles_Base : Windows.UI.Xaml.Controls.Page, Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
Profiles_Base();
|
||||
ProfileViewModel Profile { get; };
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "RenderingViewModel.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
[default_interface] runtimeclass Rendering : Windows.UI.Xaml.Controls.Page
|
||||
{
|
||||
Rendering();
|
||||
RenderingViewModel ViewModel { get; };
|
||||
}
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "EnumEntry.idl";
|
||||
|
||||
#include "ViewModelHelpers.idl.h"
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
runtimeclass RenderingViewModel : Windows.UI.Xaml.Data.INotifyPropertyChanged
|
||||
{
|
||||
RenderingViewModel(Microsoft.Terminal.Settings.Model.CascadiaSettings settings);
|
||||
|
||||
IInspectable CurrentGraphicsAPI;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> GraphicsAPIList { get; };
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, DisablePartialInvalidation);
|
||||
PERMANENT_OBSERVABLE_PROJECTED_SETTING(Boolean, SoftwareRendering);
|
||||
IInspectable CurrentTextMeasurement;
|
||||
Windows.Foundation.Collections.IObservableVector<Microsoft.Terminal.Settings.Editor.EnumEntry> TextMeasurementList { get; };
|
||||
}
|
||||
}
|
||||
@@ -1,32 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Editor
|
||||
{
|
||||
[default_interface] runtimeclass SettingContainer : Windows.UI.Xaml.Controls.ContentControl
|
||||
{
|
||||
SettingContainer();
|
||||
|
||||
void SetExpanded(Boolean expanded);
|
||||
|
||||
IInspectable Header;
|
||||
static Windows.UI.Xaml.DependencyProperty HeaderProperty { get; };
|
||||
|
||||
String HelpText;
|
||||
static Windows.UI.Xaml.DependencyProperty HelpTextProperty { get; };
|
||||
|
||||
String CurrentValue;
|
||||
static Windows.UI.Xaml.DependencyProperty CurrentValueProperty { get; };
|
||||
|
||||
Boolean HasSettingValue;
|
||||
static Windows.UI.Xaml.DependencyProperty HasSettingValueProperty { get; };
|
||||
|
||||
IInspectable SettingOverrideSource;
|
||||
static Windows.UI.Xaml.DependencyProperty SettingOverrideSourceProperty { get; };
|
||||
|
||||
Boolean StartExpanded;
|
||||
static Windows.UI.Xaml.DependencyProperty StartExpandedProperty { get; };
|
||||
|
||||
event Windows.Foundation.TypedEventHandler<SettingContainer, Object> ClearSettingValue;
|
||||
};
|
||||
}
|
||||
@@ -1,459 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "Command.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Model
|
||||
{
|
||||
interface IActionArgs
|
||||
{
|
||||
Boolean Equals(IActionArgs other);
|
||||
String GenerateName();
|
||||
IActionArgs Copy();
|
||||
UInt64 Hash();
|
||||
};
|
||||
|
||||
interface IActionEventArgs
|
||||
{
|
||||
Boolean Handled;
|
||||
IActionArgs ActionArgs { get; };
|
||||
};
|
||||
|
||||
enum ResizeDirection
|
||||
{
|
||||
None = 0,
|
||||
Left,
|
||||
Right,
|
||||
Up,
|
||||
Down
|
||||
};
|
||||
|
||||
enum FocusDirection
|
||||
{
|
||||
None = 0,
|
||||
Left,
|
||||
Right,
|
||||
Up,
|
||||
Down,
|
||||
Previous,
|
||||
PreviousInOrder,
|
||||
NextInOrder,
|
||||
First,
|
||||
Parent,
|
||||
Child
|
||||
};
|
||||
|
||||
enum SplitDirection
|
||||
{
|
||||
Automatic = 0,
|
||||
Up,
|
||||
Right,
|
||||
Down,
|
||||
Left
|
||||
};
|
||||
|
||||
enum SplitType
|
||||
{
|
||||
Manual = 0,
|
||||
Duplicate = 1
|
||||
};
|
||||
|
||||
enum SettingsTarget
|
||||
{
|
||||
SettingsFile = 0,
|
||||
DefaultsFile,
|
||||
AllFiles,
|
||||
SettingsUI
|
||||
};
|
||||
|
||||
enum MoveTabDirection
|
||||
{
|
||||
None = 0,
|
||||
Forward,
|
||||
Backward
|
||||
};
|
||||
|
||||
enum FindMatchDirection
|
||||
{
|
||||
None = 0,
|
||||
Next,
|
||||
Previous
|
||||
};
|
||||
|
||||
enum SelectOutputDirection
|
||||
{
|
||||
Previous = 0,
|
||||
Next,
|
||||
};
|
||||
|
||||
enum CommandPaletteLaunchMode
|
||||
{
|
||||
Action = 0,
|
||||
CommandLine
|
||||
};
|
||||
|
||||
enum TabSwitcherMode
|
||||
{
|
||||
MostRecentlyUsed,
|
||||
InOrder,
|
||||
Disabled,
|
||||
};
|
||||
|
||||
enum DesktopBehavior
|
||||
{
|
||||
Any,
|
||||
ToCurrent,
|
||||
OnCurrent,
|
||||
};
|
||||
|
||||
enum MonitorBehavior
|
||||
{
|
||||
Any,
|
||||
ToCurrent,
|
||||
ToMouse,
|
||||
};
|
||||
|
||||
[flags]
|
||||
enum SuggestionsSource
|
||||
{
|
||||
Tasks = 0x1,
|
||||
CommandHistory = 0x2,
|
||||
DirectoryHistory = 0x4,
|
||||
QuickFixes = 0x8,
|
||||
All = 0xffffffff,
|
||||
};
|
||||
|
||||
interface INewContentArgs {
|
||||
String Type { get; };
|
||||
Boolean Equals(INewContentArgs other);
|
||||
UInt64 Hash();
|
||||
INewContentArgs Copy();
|
||||
String GenerateName();
|
||||
};
|
||||
|
||||
runtimeclass BaseContentArgs : [default] INewContentArgs {
|
||||
BaseContentArgs();
|
||||
BaseContentArgs(String type);
|
||||
};
|
||||
|
||||
runtimeclass NewTerminalArgs : INewContentArgs {
|
||||
NewTerminalArgs();
|
||||
NewTerminalArgs(Int32 profileIndex);
|
||||
|
||||
String Commandline;
|
||||
String StartingDirectory;
|
||||
String TabTitle;
|
||||
Windows.Foundation.IReference<Windows.UI.Color> TabColor;
|
||||
String Profile; // Either a GUID or a profile's name if the GUID isn't a match
|
||||
Guid SessionId;
|
||||
Boolean AppendCommandLine;
|
||||
|
||||
// We use IReference<> to treat some args as nullable where null means
|
||||
// "use the inherited value". See ProfileIndex,
|
||||
// SuppressApplicationTitle, Elevate. Strings that behave this way just
|
||||
// use `null` as "use the inherited value".
|
||||
|
||||
// ProfileIndex can be null (for "use the default"), so this needs to be
|
||||
// a IReference, so it's nullable
|
||||
Windows.Foundation.IReference<Int32> ProfileIndex { get; };
|
||||
Windows.Foundation.IReference<Boolean> SuppressApplicationTitle;
|
||||
String ColorScheme;
|
||||
// This needs to be an optional so that the default value (null) does
|
||||
// not modify whatever the profile's value is (either true or false)
|
||||
Windows.Foundation.IReference<Boolean> Elevate;
|
||||
// Similarly with ReloadEnvironmentVariables
|
||||
Windows.Foundation.IReference<Boolean> ReloadEnvironmentVariables;
|
||||
|
||||
UInt64 ContentId{ get; set; };
|
||||
|
||||
String ToCommandline();
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass ActionEventArgs : IActionEventArgs
|
||||
{
|
||||
ActionEventArgs();
|
||||
ActionEventArgs(IActionArgs args);
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass CopyTextArgs : IActionArgs
|
||||
{
|
||||
CopyTextArgs();
|
||||
Boolean DismissSelection { get; };
|
||||
Boolean SingleLine { get; };
|
||||
Windows.Foundation.IReference<Microsoft.Terminal.Control.CopyFormat> CopyFormatting { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass NewTabArgs : IActionArgs
|
||||
{
|
||||
NewTabArgs(INewContentArgs contentArgs);
|
||||
INewContentArgs ContentArgs { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass MovePaneArgs : IActionArgs
|
||||
{
|
||||
MovePaneArgs(UInt32 tabIndex, String Window);
|
||||
UInt32 TabIndex;
|
||||
String Window;
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass SwitchToTabArgs : IActionArgs
|
||||
{
|
||||
SwitchToTabArgs(UInt32 tabIndex);
|
||||
UInt32 TabIndex;
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass ResizePaneArgs : IActionArgs
|
||||
{
|
||||
ResizeDirection ResizeDirection { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass MoveFocusArgs : IActionArgs
|
||||
{
|
||||
MoveFocusArgs(FocusDirection direction);
|
||||
FocusDirection FocusDirection { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass SwapPaneArgs : IActionArgs
|
||||
{
|
||||
SwapPaneArgs(FocusDirection direction);
|
||||
FocusDirection Direction { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass AdjustFontSizeArgs : IActionArgs
|
||||
{
|
||||
Single Delta { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass SendInputArgs : IActionArgs
|
||||
{
|
||||
SendInputArgs(String input);
|
||||
|
||||
String Input { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass SplitPaneArgs : IActionArgs
|
||||
{
|
||||
SplitPaneArgs(SplitType splitMode, SplitDirection split, Single size, INewContentArgs contentArgs);
|
||||
SplitPaneArgs(SplitDirection split, Single size, INewContentArgs contentArgs);
|
||||
SplitPaneArgs(SplitDirection split, INewContentArgs contentArgs);
|
||||
SplitPaneArgs(SplitType splitMode);
|
||||
|
||||
SplitDirection SplitDirection { get; };
|
||||
INewContentArgs ContentArgs { get; };
|
||||
SplitType SplitMode { get; };
|
||||
Single SplitSize { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass OpenSettingsArgs : IActionArgs
|
||||
{
|
||||
OpenSettingsArgs(SettingsTarget target);
|
||||
SettingsTarget Target { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass SetFocusModeArgs : IActionArgs
|
||||
{
|
||||
SetFocusModeArgs(Boolean isFocusMode);
|
||||
Boolean IsFocusMode { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass SetFullScreenArgs : IActionArgs
|
||||
{
|
||||
SetFullScreenArgs(Boolean isFullScreen);
|
||||
Boolean IsFullScreen { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass SetMaximizedArgs : IActionArgs
|
||||
{
|
||||
SetMaximizedArgs(Boolean isMaximized);
|
||||
Boolean IsMaximized { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass SetColorSchemeArgs : IActionArgs
|
||||
{
|
||||
SetColorSchemeArgs(String name);
|
||||
String SchemeName { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass SetTabColorArgs : IActionArgs
|
||||
{
|
||||
SetTabColorArgs(Windows.UI.Color tabColor);
|
||||
Windows.Foundation.IReference<Windows.UI.Color> TabColor { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass RenameTabArgs : IActionArgs
|
||||
{
|
||||
RenameTabArgs(String title);
|
||||
String Title { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass ExecuteCommandlineArgs : IActionArgs
|
||||
{
|
||||
ExecuteCommandlineArgs(String commandline);
|
||||
String Commandline;
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass CloseOtherTabsArgs : IActionArgs
|
||||
{
|
||||
CloseOtherTabsArgs(UInt32 tabIndex);
|
||||
Windows.Foundation.IReference<UInt32> Index { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass CloseTabsAfterArgs : IActionArgs
|
||||
{
|
||||
CloseTabsAfterArgs(UInt32 tabIndex);
|
||||
Windows.Foundation.IReference<UInt32> Index { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass CloseTabArgs : IActionArgs
|
||||
{
|
||||
CloseTabArgs(UInt32 tabIndex);
|
||||
Windows.Foundation.IReference<UInt32> Index { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass MoveTabArgs : IActionArgs
|
||||
{
|
||||
MoveTabArgs(String window, MoveTabDirection direction);
|
||||
MoveTabDirection Direction { get; };
|
||||
String Window { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass ScrollUpArgs : IActionArgs
|
||||
{
|
||||
Windows.Foundation.IReference<UInt32> RowsToScroll { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass ScrollDownArgs : IActionArgs
|
||||
{
|
||||
Windows.Foundation.IReference<UInt32> RowsToScroll { get; };
|
||||
};
|
||||
|
||||
|
||||
[default_interface] runtimeclass ScrollToMarkArgs : IActionArgs
|
||||
{
|
||||
Microsoft.Terminal.Control.ScrollToMarkDirection Direction { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass AddMarkArgs : IActionArgs
|
||||
{
|
||||
Windows.Foundation.IReference<Microsoft.Terminal.Core.Color> Color { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass ToggleCommandPaletteArgs : IActionArgs
|
||||
{
|
||||
CommandPaletteLaunchMode LaunchMode { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass SuggestionsArgs : IActionArgs
|
||||
{
|
||||
SuggestionsArgs();
|
||||
SuggestionsArgs(SuggestionsSource source, Boolean useCommandline);
|
||||
SuggestionsSource Source { get; };
|
||||
Boolean UseCommandline { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass FindMatchArgs : IActionArgs
|
||||
{
|
||||
FindMatchArgs(FindMatchDirection direction);
|
||||
FindMatchDirection Direction { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass SaveSnippetArgs : IActionArgs
|
||||
{
|
||||
SaveSnippetArgs();
|
||||
SaveSnippetArgs(String Name, String Commandline, String KeyChord);
|
||||
String Name;
|
||||
String Commandline;
|
||||
String KeyChord;
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass NewWindowArgs : IActionArgs
|
||||
{
|
||||
NewWindowArgs(INewContentArgs contentArgs);
|
||||
INewContentArgs ContentArgs { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass PrevTabArgs : IActionArgs
|
||||
{
|
||||
PrevTabArgs();
|
||||
PrevTabArgs(TabSwitcherMode SwitcherMode);
|
||||
Windows.Foundation.IReference<TabSwitcherMode> SwitcherMode;
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass NextTabArgs : IActionArgs
|
||||
{
|
||||
NextTabArgs();
|
||||
NextTabArgs(TabSwitcherMode SwitcherMode);
|
||||
Windows.Foundation.IReference<TabSwitcherMode> SwitcherMode;
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass RenameWindowArgs : IActionArgs
|
||||
{
|
||||
RenameWindowArgs(String name);
|
||||
String Name { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass SearchForTextArgs : IActionArgs
|
||||
{
|
||||
String QueryUrl { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass GlobalSummonArgs : IActionArgs
|
||||
{
|
||||
String Name { get; };
|
||||
DesktopBehavior Desktop { get; };
|
||||
MonitorBehavior Monitor { get; };
|
||||
Boolean ToggleVisibility { get; };
|
||||
UInt32 DropdownDuration { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass FocusPaneArgs : IActionArgs
|
||||
{
|
||||
FocusPaneArgs(UInt32 Id);
|
||||
UInt32 Id { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass ExportBufferArgs : IActionArgs
|
||||
{
|
||||
ExportBufferArgs(String path);
|
||||
String Path { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass ClearBufferArgs : IActionArgs
|
||||
{
|
||||
ClearBufferArgs(Microsoft.Terminal.Control.ClearBufferType clear);
|
||||
Microsoft.Terminal.Control.ClearBufferType Clear { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass MultipleActionsArgs : IActionArgs
|
||||
{
|
||||
MultipleActionsArgs();
|
||||
Windows.Foundation.Collections.IVector<ActionAndArgs> Actions;
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass AdjustOpacityArgs : IActionArgs
|
||||
{
|
||||
AdjustOpacityArgs();
|
||||
Int32 Opacity { get; };
|
||||
Boolean Relative { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass ColorSelectionArgs : IActionArgs
|
||||
{
|
||||
Microsoft.Terminal.Control.SelectionColor Foreground;
|
||||
Microsoft.Terminal.Control.SelectionColor Background;
|
||||
Microsoft.Terminal.Core.MatchMode MatchMode { get; };
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass SelectCommandArgs : IActionArgs
|
||||
{
|
||||
SelectCommandArgs(SelectOutputDirection direction);
|
||||
SelectOutputDirection Direction { get; };
|
||||
}
|
||||
[default_interface] runtimeclass SelectOutputArgs : IActionArgs
|
||||
{
|
||||
SelectOutputArgs(SelectOutputDirection direction);
|
||||
SelectOutputDirection Direction { get; };
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,36 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "Command.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Model
|
||||
{
|
||||
// This interface ensures that no changes are made to ActionMap
|
||||
interface IActionMapView
|
||||
{
|
||||
Boolean IsKeyChordExplicitlyUnbound(Microsoft.Terminal.Control.KeyChord keys);
|
||||
|
||||
Command GetActionByKeyChord(Microsoft.Terminal.Control.KeyChord keys);
|
||||
Command GetActionByID(String cmdID);
|
||||
Microsoft.Terminal.Control.KeyChord GetKeyBindingForAction(String cmdID);
|
||||
|
||||
Windows.Foundation.Collections.IMapView<String, ActionAndArgs> AvailableActions { get; };
|
||||
|
||||
Windows.Foundation.Collections.IMapView<String, Command> NameMap { get; };
|
||||
Windows.Foundation.Collections.IMapView<Microsoft.Terminal.Control.KeyChord, Command> KeyBindings { get; };
|
||||
Windows.Foundation.Collections.IMapView<Microsoft.Terminal.Control.KeyChord, Command> GlobalHotkeys { get; };
|
||||
|
||||
IVector<Command> ExpandedCommands { get; };
|
||||
|
||||
Windows.Foundation.IAsyncOperation<IVector<Command> > FilterToSnippets(String CurrentCommandline, String CurrentWorkingDirectory);
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass ActionMap : IActionMapView
|
||||
{
|
||||
void RebindKeys(Microsoft.Terminal.Control.KeyChord oldKeys, Microsoft.Terminal.Control.KeyChord newKeys);
|
||||
void DeleteKeyBinding(Microsoft.Terminal.Control.KeyChord keys);
|
||||
|
||||
void RegisterKeyBinding(Microsoft.Terminal.Control.KeyChord keys, ActionAndArgs action);
|
||||
void AddSendInputAction(String name, String input, Microsoft.Terminal.Control.KeyChord keys);
|
||||
}
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "IAppearanceConfig.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Model
|
||||
{
|
||||
[default_interface] runtimeclass AppearanceConfig : IAppearanceConfig {
|
||||
}
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
import "Command.idl";
|
||||
import "GlobalAppSettings.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Model
|
||||
{
|
||||
enum InfoBarMessage
|
||||
{
|
||||
// We need a sentinel value to map deleted keys to, as we can't actually delete them (GH#16874)
|
||||
IgnoredDeprecatedEntry = 0,
|
||||
CloseOnExitInfo,
|
||||
KeyboardServiceWarning,
|
||||
};
|
||||
|
||||
runtimeclass WindowLayout
|
||||
{
|
||||
WindowLayout();
|
||||
|
||||
static String ToJson(WindowLayout layout);
|
||||
static WindowLayout FromJson(String json);
|
||||
|
||||
Windows.Foundation.Collections.IVector<ActionAndArgs> TabLayout;
|
||||
Windows.Foundation.IReference<LaunchPosition> InitialPosition;
|
||||
Windows.Foundation.IReference<Windows.Foundation.Size> InitialSize;
|
||||
Windows.Foundation.IReference<LaunchMode> LaunchMode;
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass ApplicationState {
|
||||
static ApplicationState SharedInstance();
|
||||
|
||||
void Flush();
|
||||
void Reset();
|
||||
|
||||
void AppendPersistedWindowLayout(WindowLayout layout);
|
||||
|
||||
String SettingsHash;
|
||||
Windows.Foundation.Collections.IVector<WindowLayout> PersistedWindowLayouts;
|
||||
Windows.Foundation.Collections.IVector<String> RecentCommands;
|
||||
Windows.Foundation.Collections.IVector<InfoBarMessage> DismissedMessages;
|
||||
Windows.Foundation.Collections.IVector<String> AllowedCommandlines;
|
||||
}
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "GlobalAppSettings.idl";
|
||||
import "Profile.idl";
|
||||
import "TerminalWarnings.idl";
|
||||
import "DefaultTerminal.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Model
|
||||
{
|
||||
[default_interface] runtimeclass CascadiaSettings {
|
||||
static CascadiaSettings LoadDefaults();
|
||||
static CascadiaSettings LoadAll();
|
||||
|
||||
static String SettingsDirectory { get; };
|
||||
static String SettingsPath { get; };
|
||||
static String DefaultSettingsPath { get; };
|
||||
static Boolean IsPortableMode { get; };
|
||||
|
||||
static String ApplicationDisplayName { get; };
|
||||
static String ApplicationVersion { get; };
|
||||
|
||||
CascadiaSettings(String userJSON, String inboxJSON);
|
||||
|
||||
CascadiaSettings Copy();
|
||||
void WriteSettingsToDisk();
|
||||
|
||||
String Hash { get; };
|
||||
|
||||
GlobalAppSettings GlobalSettings { get; };
|
||||
|
||||
Profile ProfileDefaults { get; };
|
||||
|
||||
IObservableVector<Profile> AllProfiles { get; };
|
||||
IObservableVector<Profile> ActiveProfiles { get; };
|
||||
|
||||
Profile DuplicateProfile(Profile sourceProfile);
|
||||
|
||||
ActionMap ActionMap { get; };
|
||||
|
||||
IVectorView<SettingsLoadWarnings> Warnings { get; };
|
||||
Windows.Foundation.IReference<SettingsLoadErrors> GetLoadingError { get; };
|
||||
String GetSerializationErrorMessage { get; };
|
||||
|
||||
Profile CreateNewProfile();
|
||||
Profile FindProfile(Guid profileGuid);
|
||||
void UpdateColorSchemeReferences(String oldName, String newName);
|
||||
|
||||
Profile GetProfileForArgs(NewTerminalArgs newTerminalArgs);
|
||||
|
||||
static Boolean IsDefaultTerminalAvailable { get; };
|
||||
static Boolean IsDefaultTerminalSet { get; };
|
||||
IObservableVector<DefaultTerminal> DefaultTerminals { get; };
|
||||
DefaultTerminal CurrentDefaultTerminal;
|
||||
|
||||
void ExpandCommands();
|
||||
}
|
||||
}
|
||||
@@ -1,27 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "ISettingsModelObject.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Model
|
||||
{
|
||||
[default_interface] runtimeclass ColorScheme : Windows.Foundation.IStringable, ISettingsModelObject {
|
||||
ColorScheme();
|
||||
ColorScheme(String name);
|
||||
|
||||
String Name;
|
||||
|
||||
Microsoft.Terminal.Core.Color Foreground;
|
||||
Microsoft.Terminal.Core.Color Background;
|
||||
Microsoft.Terminal.Core.Color SelectionBackground;
|
||||
Microsoft.Terminal.Core.Color CursorColor;
|
||||
|
||||
// winrt::com_arrays prevent data binding.
|
||||
// Instead of representing Table as a property,
|
||||
// we expose the getter as a function.
|
||||
Microsoft.Terminal.Core.Color[] Table();
|
||||
void SetColorTableEntry(UInt8 index, Microsoft.Terminal.Core.Color value);
|
||||
|
||||
Microsoft.Terminal.Core.Scheme ToCoreScheme();
|
||||
}
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
#include "AllShortcutActions.h"
|
||||
|
||||
import "ActionArgs.idl";
|
||||
import "Profile.idl";
|
||||
import "ColorScheme.idl";
|
||||
import "TerminalWarnings.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Model
|
||||
{
|
||||
enum ShortcutAction
|
||||
{
|
||||
Invalid = 0, // treat Invalid as unbound actions
|
||||
|
||||
// When adding a new action, add them to AllShortcutActions.h!
|
||||
#define ON_ALL_ACTIONS(action) action,
|
||||
ALL_SHORTCUT_ACTIONS
|
||||
INTERNAL_SHORTCUT_ACTIONS
|
||||
#undef ON_ALL_ACTIONS
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass ActionAndArgs {
|
||||
ActionAndArgs();
|
||||
ActionAndArgs(ShortcutAction action, IActionArgs args);
|
||||
|
||||
static String Serialize(IVector<ActionAndArgs> args);
|
||||
static IVector<ActionAndArgs> Deserialize(String content);
|
||||
|
||||
IActionArgs Args;
|
||||
ShortcutAction Action;
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass Command : ISettingsModelObject
|
||||
{
|
||||
Command();
|
||||
|
||||
String Name { get; };
|
||||
String ID { get; };
|
||||
|
||||
String Description { get; };
|
||||
|
||||
ActionAndArgs ActionAndArgs { get; };
|
||||
|
||||
String IconPath;
|
||||
|
||||
Boolean HasNestedCommands { get; };
|
||||
Windows.Foundation.Collections.IMapView<String, Command> NestedCommands { get; };
|
||||
|
||||
static IVector<Command> ParsePowerShellMenuComplete(String json, Int32 replaceLength);
|
||||
static IVector<Command> HistoryToCommands(IVector<String> commandHistory, String commandline, Boolean directories, String iconPath);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Model
|
||||
{
|
||||
runtimeclass DefaultTerminal : Windows.Foundation.IStringable
|
||||
{
|
||||
String Name { get; };
|
||||
String Author { get; };
|
||||
String Version { get; };
|
||||
String Icon { get; };
|
||||
}
|
||||
}
|
||||
@@ -20,7 +20,7 @@ Author(s):
|
||||
|
||||
namespace winrt::Microsoft::Terminal::Settings::Model::implementation
|
||||
{
|
||||
struct EnumMappings : EnumMappingsT<EnumMappings>
|
||||
struct EnumMappings
|
||||
{
|
||||
public:
|
||||
EnumMappings() = default;
|
||||
|
||||
@@ -1,33 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "GlobalAppSettings.idl";
|
||||
import "Profile.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Model
|
||||
{
|
||||
[default_interface] runtimeclass EnumMappings {
|
||||
// Global Settings
|
||||
static Windows.Foundation.Collections.IMap<String, Windows.UI.Xaml.ElementTheme> ElementTheme { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.Terminal.Settings.Model.NewTabPosition> NewTabPosition { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.UI.Xaml.Controls.TabViewWidthMode> TabViewWidthMode { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.Terminal.Settings.Model.FirstWindowPreference> FirstWindowPreference { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.Terminal.Settings.Model.LaunchMode> LaunchMode { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.Terminal.Settings.Model.TabSwitcherMode> TabSwitcherMode { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.Terminal.Control.CopyFormat> CopyFormat { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.Terminal.Settings.Model.WindowingMode> WindowingMode { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.Terminal.Core.MatchMode> MatchMode { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.Terminal.Control.GraphicsAPI> GraphicsAPI { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.Terminal.Control.TextMeasurement> TextMeasurement { get; };
|
||||
|
||||
// Profile Settings
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.Terminal.Settings.Model.CloseOnExitMode> CloseOnExitMode { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.Terminal.Control.ScrollbarState> ScrollbarState { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, Windows.UI.Xaml.Media.Stretch> BackgroundImageStretchMode { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.Terminal.Control.TextAntialiasingMode> TextAntialiasingMode { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.Terminal.Core.CursorStyle> CursorStyle { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.Terminal.Core.AdjustTextMode> AdjustIndistinguishableColors { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, UInt16> FontWeight { get; };
|
||||
static Windows.Foundation.Collections.IMap<String, Microsoft.Terminal.Settings.Model.IntenseStyle> IntenseTextStyle { get; };
|
||||
}
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "Profile.idl";
|
||||
#include "IInheritable.idl.h"
|
||||
|
||||
#define INHERITABLE_FONT_SETTING(Type, Name) \
|
||||
_BASE_INHERITABLE_SETTING(Type, Name); \
|
||||
Microsoft.Terminal.Settings.Model.FontConfig Name##OverrideSource { get; }
|
||||
|
||||
#define COMMA ,
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Model
|
||||
{
|
||||
[default_interface] runtimeclass FontConfig {
|
||||
Microsoft.Terminal.Settings.Model.Profile SourceProfile { get; };
|
||||
|
||||
INHERITABLE_FONT_SETTING(String, FontFace);
|
||||
INHERITABLE_FONT_SETTING(Single, FontSize);
|
||||
INHERITABLE_FONT_SETTING(Windows.UI.Text.FontWeight, FontWeight);
|
||||
INHERITABLE_FONT_SETTING(Windows.Foundation.Collections.IMap<String COMMA Single>, FontFeatures);
|
||||
INHERITABLE_FONT_SETTING(Windows.Foundation.Collections.IMap<String COMMA Single>, FontAxes);
|
||||
INHERITABLE_FONT_SETTING(Boolean, EnableBuiltinGlyphs);
|
||||
INHERITABLE_FONT_SETTING(Boolean, EnableColorGlyphs);
|
||||
INHERITABLE_FONT_SETTING(String, CellWidth);
|
||||
INHERITABLE_FONT_SETTING(String, CellHeight);
|
||||
}
|
||||
}
|
||||
@@ -1,122 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
#include "IInheritable.idl.h"
|
||||
|
||||
import "Theme.idl";
|
||||
import "ColorScheme.idl";
|
||||
import "ActionMap.idl";
|
||||
import "NewTabMenuEntry.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Model
|
||||
{
|
||||
// MIDL 3 allows for structs to hold nullable types
|
||||
// Though IReference is a WinRT object, MIDL 3
|
||||
// handles all of the ownership logic for us.
|
||||
// Docs: https://docs.microsoft.com/en-us/uwp/midl-3/intro#types
|
||||
struct LaunchPosition
|
||||
{
|
||||
Windows.Foundation.IReference<Int32> X;
|
||||
Windows.Foundation.IReference<Int32> Y;
|
||||
};
|
||||
|
||||
[flags]
|
||||
enum LaunchMode
|
||||
{
|
||||
DefaultMode = 0,
|
||||
MaximizedMode = 1,
|
||||
FullscreenMode = 2,
|
||||
FocusMode = 4,
|
||||
MaximizedFocusMode = 5
|
||||
};
|
||||
|
||||
enum WindowingMode
|
||||
{
|
||||
UseNew,
|
||||
UseAnyExisting,
|
||||
UseExisting,
|
||||
};
|
||||
|
||||
enum FirstWindowPreference
|
||||
{
|
||||
DefaultProfile,
|
||||
PersistedWindowLayout,
|
||||
};
|
||||
|
||||
enum NewTabPosition
|
||||
{
|
||||
AfterLastTab,
|
||||
AfterCurrentTab,
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass GlobalAppSettings {
|
||||
Guid DefaultProfile;
|
||||
|
||||
INHERITABLE_SETTING(String, UnparsedDefaultProfile);
|
||||
|
||||
INHERITABLE_SETTING(Int32, InitialRows);
|
||||
INHERITABLE_SETTING(Int32, InitialCols);
|
||||
INHERITABLE_SETTING(Boolean, AlwaysShowTabs);
|
||||
INHERITABLE_SETTING(NewTabPosition, NewTabPosition);
|
||||
INHERITABLE_SETTING(Boolean, ShowTitleInTitlebar);
|
||||
INHERITABLE_SETTING(Boolean, ConfirmCloseAllTabs);
|
||||
INHERITABLE_SETTING(String, Language);
|
||||
INHERITABLE_SETTING(Microsoft.UI.Xaml.Controls.TabViewWidthMode, TabWidthMode);
|
||||
INHERITABLE_SETTING(Boolean, UseAcrylicInTabRow);
|
||||
INHERITABLE_SETTING(Boolean, ShowTabsInTitlebar);
|
||||
INHERITABLE_SETTING(String, WordDelimiters);
|
||||
INHERITABLE_SETTING(Boolean, CopyOnSelect);
|
||||
INHERITABLE_SETTING(Boolean, InputServiceWarning);
|
||||
INHERITABLE_SETTING(Microsoft.Terminal.Control.CopyFormat, CopyFormatting);
|
||||
INHERITABLE_SETTING(Boolean, WarnAboutLargePaste);
|
||||
INHERITABLE_SETTING(Boolean, WarnAboutMultiLinePaste);
|
||||
INHERITABLE_SETTING(Boolean, TrimPaste);
|
||||
INHERITABLE_SETTING(LaunchPosition, InitialPosition);
|
||||
INHERITABLE_SETTING(Boolean, CenterOnLaunch);
|
||||
INHERITABLE_SETTING(FirstWindowPreference, FirstWindowPreference);
|
||||
INHERITABLE_SETTING(LaunchMode, LaunchMode);
|
||||
INHERITABLE_SETTING(Boolean, SnapToGridOnResize);
|
||||
INHERITABLE_SETTING(Microsoft.Terminal.Control.GraphicsAPI, GraphicsAPI);
|
||||
INHERITABLE_SETTING(Boolean, DisablePartialInvalidation);
|
||||
INHERITABLE_SETTING(Boolean, SoftwareRendering);
|
||||
INHERITABLE_SETTING(Microsoft.Terminal.Control.TextMeasurement, TextMeasurement);
|
||||
INHERITABLE_SETTING(Boolean, UseBackgroundImageForWindow);
|
||||
INHERITABLE_SETTING(Boolean, ForceVTInput);
|
||||
INHERITABLE_SETTING(Boolean, DebugFeaturesEnabled);
|
||||
INHERITABLE_SETTING(Boolean, StartOnUserLogin);
|
||||
INHERITABLE_SETTING(Boolean, AlwaysOnTop);
|
||||
INHERITABLE_SETTING(Boolean, AutoHideWindow);
|
||||
INHERITABLE_SETTING(TabSwitcherMode, TabSwitcherMode);
|
||||
INHERITABLE_SETTING(Boolean, DisableAnimations);
|
||||
INHERITABLE_SETTING(String, StartupActions);
|
||||
INHERITABLE_SETTING(Boolean, FocusFollowMouse);
|
||||
INHERITABLE_SETTING(WindowingMode, WindowingBehavior);
|
||||
INHERITABLE_SETTING(Boolean, TrimBlockSelection);
|
||||
INHERITABLE_SETTING(Boolean, DetectURLs);
|
||||
INHERITABLE_SETTING(Boolean, MinimizeToNotificationArea);
|
||||
INHERITABLE_SETTING(Boolean, AlwaysShowNotificationIcon);
|
||||
INHERITABLE_SETTING(IVector<String>, DisabledProfileSources);
|
||||
INHERITABLE_SETTING(Boolean, ShowAdminShield);
|
||||
INHERITABLE_SETTING(IVector<NewTabMenuEntry>, NewTabMenu);
|
||||
INHERITABLE_SETTING(Boolean, EnableColorSelection);
|
||||
INHERITABLE_SETTING(Boolean, EnableShellCompletionMenu);
|
||||
INHERITABLE_SETTING(Boolean, EnableUnfocusedAcrylic);
|
||||
INHERITABLE_SETTING(Boolean, IsolatedMode);
|
||||
INHERITABLE_SETTING(Boolean, AllowHeadless);
|
||||
INHERITABLE_SETTING(String, SearchWebDefaultQueryUrl);
|
||||
|
||||
Windows.Foundation.Collections.IMapView<String, ColorScheme> ColorSchemes();
|
||||
void AddColorScheme(ColorScheme scheme);
|
||||
void RemoveColorScheme(String schemeName);
|
||||
ColorScheme DuplicateColorScheme(ColorScheme scheme);
|
||||
|
||||
ActionMap ActionMap { get; };
|
||||
|
||||
Windows.Foundation.Collections.IMapView<String, Theme> Themes();
|
||||
void AddTheme(Theme theme);
|
||||
INHERITABLE_SETTING(ThemePair, Theme);
|
||||
Theme CurrentTheme { get; };
|
||||
|
||||
Boolean ShouldUsePersistedLayout();
|
||||
}
|
||||
}
|
||||
@@ -1,60 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "Profile.idl";
|
||||
#include "IInheritable.idl.h"
|
||||
|
||||
#define INHERITABLE_APPEARANCE_SETTING(Type, Name) \
|
||||
_BASE_INHERITABLE_SETTING(Type, Name); \
|
||||
Microsoft.Terminal.Settings.Model.IAppearanceConfig Name##OverrideSource { get; }
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Model
|
||||
{
|
||||
[flags] enum ConvergedAlignment {
|
||||
// low 4 bits are the horizontal
|
||||
Horizontal_Center = 0x00,
|
||||
Horizontal_Left = 0x01,
|
||||
Horizontal_Right = 0x02,
|
||||
|
||||
// high 4 bits are the vertical
|
||||
Vertical_Center = 0x00,
|
||||
Vertical_Top = 0x10,
|
||||
Vertical_Bottom = 0x20
|
||||
};
|
||||
|
||||
[flags] enum IntenseStyle {
|
||||
Bold = 0x1,
|
||||
Bright = 0x2,
|
||||
All = 0xffffffff
|
||||
};
|
||||
|
||||
interface IAppearanceConfig
|
||||
{
|
||||
Microsoft.Terminal.Settings.Model.Profile SourceProfile { get; };
|
||||
|
||||
INHERITABLE_APPEARANCE_SETTING(String, DarkColorSchemeName);
|
||||
INHERITABLE_APPEARANCE_SETTING(String, LightColorSchemeName);
|
||||
|
||||
INHERITABLE_APPEARANCE_SETTING(Windows.Foundation.IReference<Microsoft.Terminal.Core.Color>, Foreground);
|
||||
INHERITABLE_APPEARANCE_SETTING(Windows.Foundation.IReference<Microsoft.Terminal.Core.Color>, Background);
|
||||
INHERITABLE_APPEARANCE_SETTING(Windows.Foundation.IReference<Microsoft.Terminal.Core.Color>, SelectionBackground);
|
||||
INHERITABLE_APPEARANCE_SETTING(Windows.Foundation.IReference<Microsoft.Terminal.Core.Color>, CursorColor);
|
||||
INHERITABLE_APPEARANCE_SETTING(Microsoft.Terminal.Core.CursorStyle, CursorShape);
|
||||
INHERITABLE_APPEARANCE_SETTING(UInt32, CursorHeight);
|
||||
|
||||
INHERITABLE_APPEARANCE_SETTING(String, BackgroundImagePath);
|
||||
String ExpandedBackgroundImagePath { get; };
|
||||
|
||||
INHERITABLE_APPEARANCE_SETTING(Single, BackgroundImageOpacity);
|
||||
INHERITABLE_APPEARANCE_SETTING(Windows.UI.Xaml.Media.Stretch, BackgroundImageStretchMode);
|
||||
INHERITABLE_APPEARANCE_SETTING(ConvergedAlignment, BackgroundImageAlignment);
|
||||
|
||||
INHERITABLE_APPEARANCE_SETTING(Boolean, RetroTerminalEffect);
|
||||
INHERITABLE_APPEARANCE_SETTING(String, PixelShaderPath);
|
||||
INHERITABLE_APPEARANCE_SETTING(String, PixelShaderImagePath);
|
||||
INHERITABLE_APPEARANCE_SETTING(IntenseStyle, IntenseTextStyle);
|
||||
INHERITABLE_APPEARANCE_SETTING(Microsoft.Terminal.Core.AdjustTextMode, AdjustIndistinguishableColors);
|
||||
INHERITABLE_APPEARANCE_SETTING(Single, Opacity);
|
||||
INHERITABLE_APPEARANCE_SETTING(Boolean, UseAcrylic);
|
||||
};
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Model
|
||||
{
|
||||
// This tag is used to identify the context in which this object was created
|
||||
enum OriginTag
|
||||
{
|
||||
None = 0,
|
||||
User,
|
||||
InBox,
|
||||
Generated,
|
||||
Fragment,
|
||||
ProfilesDefaults
|
||||
};
|
||||
|
||||
interface ISettingsModelObject {
|
||||
OriginTag Origin { get; };
|
||||
}
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Model
|
||||
{
|
||||
static runtimeclass KeyChordSerialization
|
||||
{
|
||||
static Microsoft.Terminal.Control.KeyChord FromString(String str);
|
||||
static String ToString(Microsoft.Terminal.Control.KeyChord chord);
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -23,63 +23,45 @@
|
||||
<ClInclude Include="resource.h" />
|
||||
<ClInclude Include="ActionArgsMagic.h" />
|
||||
<ClInclude Include="NewTabMenuEntry.h">
|
||||
<DependentUpon>NewTabMenuEntry.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="SeparatorEntry.h">
|
||||
<DependentUpon>NewTabMenuEntry.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ActionEntry.h">
|
||||
<DependentUpon>NewTabMenuEntry.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="FolderEntry.h">
|
||||
<DependentUpon>NewTabMenuEntry.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ProfileEntry.h">
|
||||
<DependentUpon>NewTabMenuEntry.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="RemainingProfilesEntry.h">
|
||||
<DependentUpon>NewTabMenuEntry.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ProfileCollectionEntry.h">
|
||||
<DependentUpon>NewTabMenuEntry.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="MatchProfilesEntry.h">
|
||||
<DependentUpon>NewTabMenuEntry.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="VisualStudioGenerator.h" />
|
||||
<ClInclude Include="DefaultTerminal.h">
|
||||
<DependentUpon>DefaultTerminal.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="pch.h" />
|
||||
<ClInclude Include="ActionArgs.h">
|
||||
<DependentUpon>ActionArgs.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ActionAndArgs.h">
|
||||
<DependentUpon>ActionArgs.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ActionMap.h">
|
||||
<DependentUpon>ActionMap.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="AzureCloudShellGenerator.h" />
|
||||
<ClInclude Include="ApplicationState.h">
|
||||
<DependentUpon>ApplicationState.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="CascadiaSettings.h">
|
||||
<DependentUpon>CascadiaSettings.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="ColorScheme.h">
|
||||
<DependentUpon>ColorScheme.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Theme.h">
|
||||
<DependentUpon>Theme.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="Command.h">
|
||||
<DependentUpon>Command.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="DynamicProfileUtils.h" />
|
||||
<ClInclude Include="FileUtils.h" />
|
||||
<ClInclude Include="GlobalAppSettings.h">
|
||||
<DependentUpon>GlobalAppSettings.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="IInheritable.h" />
|
||||
<ClInclude Include="MTSMSettings.h" />
|
||||
@@ -87,28 +69,21 @@
|
||||
<ClInclude Include="JsonUtils.h" />
|
||||
<ClInclude Include="HashUtils.h" />
|
||||
<ClInclude Include="KeyChordSerialization.h">
|
||||
<DependentUpon>KeyChordSerialization.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="PowershellCoreProfileGenerator.h" />
|
||||
<ClInclude Include="Profile.h">
|
||||
<DependentUpon>Profile.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="AppearanceConfig.h">
|
||||
<DependentUpon>AppearanceConfig.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="FontConfig.h">
|
||||
<DependentUpon>FontConfig.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="EnumMappings.h">
|
||||
<DependentUpon>EnumMappings.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="SettingsTypes.h" />
|
||||
<ClInclude Include="TerminalSettings.h">
|
||||
<DependentUpon>TerminalSettings.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="TerminalSettingsSerializationHelpers.h" />
|
||||
<ClInclude Include="TerminalWarnings.h">
|
||||
<DependentUpon>TerminalWarnings.idl</DependentUpon>
|
||||
</ClInclude>
|
||||
<ClInclude Include="VsDevCmdGenerator.h" />
|
||||
<ClInclude Include="VsDevShellGenerator.h" />
|
||||
@@ -121,90 +96,64 @@
|
||||
<ItemGroup>
|
||||
<ClCompile Include="VisualStudioGenerator.cpp" />
|
||||
<ClCompile Include="DefaultTerminal.cpp">
|
||||
<DependentUpon>DefaultTerminal.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="init.cpp" />
|
||||
<ClCompile Include="pch.cpp">
|
||||
<PrecompiledHeader>Create</PrecompiledHeader>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ActionAndArgs.cpp">
|
||||
<DependentUpon>ActionArgs.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ActionArgs.cpp">
|
||||
<DependentUpon>ActionArgs.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ActionMap.cpp">
|
||||
<DependentUpon>ActionMap.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ActionMapSerialization.cpp">
|
||||
<DependentUpon>ActionMap.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="AzureCloudShellGenerator.cpp" />
|
||||
<ClCompile Include="ApplicationState.cpp">
|
||||
<DependentUpon>ApplicationState.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CascadiaSettings.cpp">
|
||||
<DependentUpon>CascadiaSettings.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="CascadiaSettingsSerialization.cpp">
|
||||
<DependentUpon>CascadiaSettings.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ColorScheme.cpp">
|
||||
<DependentUpon>ColorScheme.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Theme.cpp">
|
||||
<DependentUpon>Theme.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="Command.cpp">
|
||||
<DependentUpon>Command.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="DynamicProfileUtils.cpp" />
|
||||
<ClCompile Include="FileUtils.cpp" />
|
||||
<ClCompile Include="GlobalAppSettings.cpp">
|
||||
<DependentUpon>GlobalAppSettings.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="KeyChordSerialization.cpp">
|
||||
<DependentUpon>KeyChordSerialization.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="PowershellCoreProfileGenerator.cpp" />
|
||||
<ClCompile Include="Profile.cpp">
|
||||
<DependentUpon>Profile.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="AppearanceConfig.cpp">
|
||||
<DependentUpon>AppearanceConfig.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="FontConfig.cpp">
|
||||
<DependentUpon>FontConfig.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="TerminalSettings.cpp">
|
||||
<DependentUpon>TerminalSettings.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="EnumMappings.cpp">
|
||||
<DependentUpon>EnumMappings.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="NewTabMenuEntry.cpp">
|
||||
<DependentUpon>NewTabMenuEntry.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="SeparatorEntry.cpp">
|
||||
<DependentUpon>NewTabMenuEntry.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ActionEntry.cpp">
|
||||
<DependentUpon>NewTabMenuEntry.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="FolderEntry.cpp">
|
||||
<DependentUpon>NewTabMenuEntry.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ProfileEntry.cpp">
|
||||
<DependentUpon>NewTabMenuEntry.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="ProfileCollectionEntry.cpp">
|
||||
<DependentUpon>NewTabMenuEntry.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="RemainingProfilesEntry.cpp">
|
||||
<DependentUpon>NewTabMenuEntry.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="MatchProfilesEntry.cpp">
|
||||
<DependentUpon>NewTabMenuEntry.idl</DependentUpon>
|
||||
</ClCompile>
|
||||
<ClCompile Include="VsDevCmdGenerator.cpp" />
|
||||
<ClCompile Include="VsDevShellGenerator.cpp" />
|
||||
@@ -215,25 +164,7 @@
|
||||
</ItemGroup>
|
||||
<!-- ========================= idl Files ======================== -->
|
||||
<ItemGroup>
|
||||
<Midl Include="ActionArgs.idl" />
|
||||
<Midl Include="ActionMap.idl" />
|
||||
<Midl Include="ApplicationState.idl" />
|
||||
<Midl Include="CascadiaSettings.idl" />
|
||||
<Midl Include="ColorScheme.idl" />
|
||||
<Midl Include="NewTabMenuEntry.idl" />
|
||||
<Midl Include="Theme.idl" />
|
||||
<Midl Include="Command.idl" />
|
||||
<Midl Include="DefaultTerminal.idl" />
|
||||
<Midl Include="GlobalAppSettings.idl" />
|
||||
<Midl Include="Profile.idl" />
|
||||
<Midl Include="EnumMappings.idl" />
|
||||
<Midl Include="TerminalSettings.idl" />
|
||||
<Midl Include="TerminalWarnings.idl" />
|
||||
<Midl Include="KeyChordSerialization.idl" />
|
||||
<Midl Include="AppearanceConfig.idl" />
|
||||
<Midl Include="IAppearanceConfig.idl" />
|
||||
<Midl Include="ISettingsModelObject.idl" />
|
||||
<Midl Include="FontConfig.idl" />
|
||||
<Midl Include="Microsoft.Terminal.Settings.Model.idl" />
|
||||
</ItemGroup>
|
||||
<!-- ========================= Misc Files ======================== -->
|
||||
<ItemGroup>
|
||||
|
||||
@@ -1,82 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "Profile.idl";
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Model
|
||||
{
|
||||
enum NewTabMenuEntryType
|
||||
{
|
||||
Invalid = 0,
|
||||
Profile,
|
||||
Separator,
|
||||
Folder,
|
||||
RemainingProfiles,
|
||||
MatchProfiles,
|
||||
Action
|
||||
};
|
||||
|
||||
[default_interface] unsealed runtimeclass NewTabMenuEntry
|
||||
{
|
||||
NewTabMenuEntryType Type;
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass SeparatorEntry : NewTabMenuEntry
|
||||
{
|
||||
SeparatorEntry();
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass ProfileEntry : NewTabMenuEntry
|
||||
{
|
||||
ProfileEntry();
|
||||
ProfileEntry(String profile);
|
||||
|
||||
Profile Profile;
|
||||
Int32 ProfileIndex;
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass ActionEntry : NewTabMenuEntry
|
||||
{
|
||||
ActionEntry();
|
||||
|
||||
String ActionId;
|
||||
}
|
||||
|
||||
enum FolderEntryInlining
|
||||
{
|
||||
Never = 0,
|
||||
Auto
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass FolderEntry : NewTabMenuEntry
|
||||
{
|
||||
FolderEntry();
|
||||
FolderEntry(String name);
|
||||
|
||||
String Name;
|
||||
String Icon;
|
||||
FolderEntryInlining Inlining;
|
||||
Boolean AllowEmpty;
|
||||
|
||||
IVector<NewTabMenuEntry> Entries();
|
||||
}
|
||||
|
||||
[default_interface] unsealed runtimeclass ProfileCollectionEntry : NewTabMenuEntry
|
||||
{
|
||||
IMap<Int32, Profile> Profiles;
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass RemainingProfilesEntry : ProfileCollectionEntry
|
||||
{
|
||||
RemainingProfilesEntry();
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass MatchProfilesEntry : ProfileCollectionEntry
|
||||
{
|
||||
MatchProfilesEntry();
|
||||
|
||||
String Name;
|
||||
String Commandline;
|
||||
String Source;
|
||||
}
|
||||
}
|
||||
@@ -1,93 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "IAppearanceConfig.idl";
|
||||
import "ISettingsModelObject.idl";
|
||||
import "FontConfig.idl";
|
||||
#include "IInheritable.idl.h"
|
||||
|
||||
#define INHERITABLE_PROFILE_SETTING(Type, Name) \
|
||||
_BASE_INHERITABLE_SETTING(Type, Name); \
|
||||
Microsoft.Terminal.Settings.Model.Profile Name##OverrideSource { get; }
|
||||
|
||||
#define COMMA ,
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Model
|
||||
{
|
||||
enum CloseOnExitMode
|
||||
{
|
||||
Never = 0,
|
||||
Graceful,
|
||||
Always,
|
||||
Automatic
|
||||
};
|
||||
|
||||
[flags]
|
||||
enum BellStyle
|
||||
{
|
||||
// !! If you update this, you must update the values in TerminalSettingsEditor/Profiles.xaml
|
||||
Audible = 0x1,
|
||||
Window = 0x2,
|
||||
Taskbar = 0x4,
|
||||
All = 0xffffffff
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass Profile : Windows.Foundation.IStringable, ISettingsModelObject {
|
||||
Profile();
|
||||
Profile(Guid guid);
|
||||
|
||||
void CreateUnfocusedAppearance();
|
||||
void DeleteUnfocusedAppearance();
|
||||
|
||||
// True if the user explicitly removed this Profile from settings.json.
|
||||
Boolean Deleted { get; };
|
||||
|
||||
// Helper for magically using a commandline for an icon for a profile
|
||||
// without an explicit icon.
|
||||
String EvaluatedIcon { get; };
|
||||
|
||||
INHERITABLE_PROFILE_SETTING(Guid, Guid);
|
||||
INHERITABLE_PROFILE_SETTING(String, Name);
|
||||
INHERITABLE_PROFILE_SETTING(String, Source);
|
||||
INHERITABLE_PROFILE_SETTING(Boolean, Hidden);
|
||||
INHERITABLE_PROFILE_SETTING(Guid, ConnectionType);
|
||||
INHERITABLE_PROFILE_SETTING(String, Icon);
|
||||
INHERITABLE_PROFILE_SETTING(CloseOnExitMode, CloseOnExit);
|
||||
INHERITABLE_PROFILE_SETTING(String, TabTitle);
|
||||
INHERITABLE_PROFILE_SETTING(Windows.Foundation.IReference<Microsoft.Terminal.Core.Color>, TabColor);
|
||||
INHERITABLE_PROFILE_SETTING(Boolean, SuppressApplicationTitle);
|
||||
INHERITABLE_PROFILE_SETTING(Microsoft.Terminal.Control.ScrollbarState, ScrollState);
|
||||
INHERITABLE_PROFILE_SETTING(String, Padding);
|
||||
INHERITABLE_PROFILE_SETTING(String, Commandline);
|
||||
|
||||
INHERITABLE_PROFILE_SETTING(String, StartingDirectory);
|
||||
String EvaluatedStartingDirectory { get; };
|
||||
|
||||
FontConfig FontInfo { get; };
|
||||
|
||||
IAppearanceConfig DefaultAppearance { get; };
|
||||
INHERITABLE_PROFILE_SETTING(IAppearanceConfig, UnfocusedAppearance);
|
||||
|
||||
INHERITABLE_PROFILE_SETTING(Microsoft.Terminal.Control.TextAntialiasingMode, AntialiasingMode);
|
||||
|
||||
INHERITABLE_PROFILE_SETTING(Int32, HistorySize);
|
||||
INHERITABLE_PROFILE_SETTING(Boolean, SnapOnInput);
|
||||
INHERITABLE_PROFILE_SETTING(Boolean, AltGrAliasing);
|
||||
INHERITABLE_PROFILE_SETTING(BellStyle, BellStyle);
|
||||
|
||||
INHERITABLE_PROFILE_SETTING(Windows.Foundation.Collections.IMap<String COMMA String>, EnvironmentVariables);
|
||||
|
||||
INHERITABLE_PROFILE_SETTING(Windows.Foundation.Collections.IVector<String>, BellSound);
|
||||
|
||||
INHERITABLE_PROFILE_SETTING(Boolean, Elevate);
|
||||
INHERITABLE_PROFILE_SETTING(Boolean, AutoMarkPrompts);
|
||||
INHERITABLE_PROFILE_SETTING(Boolean, ShowMarks);
|
||||
|
||||
INHERITABLE_PROFILE_SETTING(Boolean, RightClickContextMenu);
|
||||
INHERITABLE_PROFILE_SETTING(Boolean, RepositionCursorWithMouse);
|
||||
|
||||
INHERITABLE_PROFILE_SETTING(Boolean, ReloadEnvironmentVariables);
|
||||
INHERITABLE_PROFILE_SETTING(Boolean, RainbowSuggestions);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,51 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
import "CascadiaSettings.idl";
|
||||
|
||||
#define COMMA ,
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Model
|
||||
{
|
||||
runtimeclass TerminalSettingsCreateResult
|
||||
{
|
||||
TerminalSettingsCreateResult(TerminalSettings defaultSettings);
|
||||
TerminalSettings DefaultSettings { get; };
|
||||
TerminalSettings UnfocusedSettings { get; };
|
||||
}
|
||||
|
||||
// Class Description:
|
||||
// TerminalSettings encapsulates all settings that control the
|
||||
// TermControl's behavior. In these settings there is both the entirety
|
||||
// of the Core ICoreSettings properties and the IControlSettings
|
||||
// properties. It's the Profile's responsibility to build this from
|
||||
// settings it contains, in combination with the global settings.
|
||||
// The TerminalControl will pull settings it requires from this object,
|
||||
// and pass along the Core properties to the terminal core.
|
||||
[default_interface]
|
||||
runtimeclass TerminalSettings : Microsoft.Terminal.Core.ICoreSettings,
|
||||
Microsoft.Terminal.Control.IControlSettings
|
||||
{
|
||||
TerminalSettings();
|
||||
|
||||
Windows.Foundation.Collections.IMap<String COMMA String> EnvironmentVariables;
|
||||
|
||||
static TerminalSettings CreateForPreview(CascadiaSettings appSettings, Profile profile);
|
||||
static TerminalSettingsCreateResult CreateWithProfile(CascadiaSettings appSettings, Profile profile, Microsoft.Terminal.Control.IKeyBindings keybindings);
|
||||
static TerminalSettingsCreateResult CreateWithNewTerminalArgs(CascadiaSettings appSettings, NewTerminalArgs newTerminalArgs, Microsoft.Terminal.Control.IKeyBindings keybindings);
|
||||
|
||||
void ApplyColorScheme(ColorScheme scheme);
|
||||
|
||||
ColorScheme AppliedColorScheme;
|
||||
|
||||
// The getters for these are already defined in IControlSettings. So
|
||||
// we're just adding the setters here, because TerminalApp likes to be
|
||||
// able to change these at runtime (e.g. when duplicating a pane).
|
||||
Guid SessionId { set; };
|
||||
String Commandline { set; };
|
||||
String StartingDirectory { set; };
|
||||
|
||||
Boolean Elevate;
|
||||
Boolean ReloadEnvironmentVariables;
|
||||
};
|
||||
}
|
||||
@@ -1,39 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation
|
||||
// Licensed under the MIT license.
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Model
|
||||
{
|
||||
// SettingsLoadWarnings are scenarios where the settings contained
|
||||
// information we knew was invalid, but we could recover from.
|
||||
enum SettingsLoadWarnings
|
||||
{
|
||||
MissingDefaultProfile = 0,
|
||||
DuplicateProfile,
|
||||
UnknownColorScheme,
|
||||
InvalidBackgroundImage,
|
||||
InvalidIcon,
|
||||
AtLeastOneKeybindingWarning,
|
||||
TooManyKeysForChord,
|
||||
MissingRequiredParameter,
|
||||
FailedToParseCommandJson,
|
||||
FailedToWriteToSettings,
|
||||
InvalidColorSchemeInCmd,
|
||||
InvalidSplitSize,
|
||||
FailedToParseStartupActions,
|
||||
InvalidProfileEnvironmentVariables,
|
||||
FailedToParseSubCommands,
|
||||
UnknownTheme,
|
||||
DuplicateRemainingProfilesEntry,
|
||||
InvalidUseOfContent,
|
||||
WARNINGS_SIZE // IMPORTANT: This MUST be the last value in this enum. It's an unused placeholder.
|
||||
};
|
||||
|
||||
// SettingsLoadWarnings are scenarios where the settings had invalid state
|
||||
// that we could not recover from.
|
||||
enum SettingsLoadErrors
|
||||
{
|
||||
NoProfiles = 0,
|
||||
AllProfilesHidden = 1,
|
||||
ERRORS_SIZE // IMPORTANT: This MUST be the last value in this enum. It's an unused placeholder.
|
||||
};
|
||||
}
|
||||
@@ -1,104 +0,0 @@
|
||||
// Copyright (c) Microsoft Corporation.
|
||||
// Licensed under the MIT license.
|
||||
|
||||
namespace Microsoft.Terminal.Settings.Model
|
||||
{
|
||||
|
||||
enum IconStyle
|
||||
{
|
||||
Default,
|
||||
Hidden,
|
||||
Monochrome
|
||||
};
|
||||
|
||||
enum ThemeColorType
|
||||
{
|
||||
Accent,
|
||||
Color,
|
||||
TerminalBackground
|
||||
};
|
||||
|
||||
enum TabCloseButtonVisibility
|
||||
{
|
||||
Always,
|
||||
Hover,
|
||||
Never,
|
||||
ActiveOnly
|
||||
};
|
||||
|
||||
[default_interface] runtimeclass ThemePair
|
||||
{
|
||||
ThemePair();
|
||||
ThemePair(String name);
|
||||
ThemePair(String darkName, String lightName);
|
||||
|
||||
String DarkName;
|
||||
String LightName;
|
||||
};
|
||||
|
||||
runtimeclass ThemeColor
|
||||
{
|
||||
ThemeColor();
|
||||
static ThemeColor FromColor(Microsoft.Terminal.Core.Color color);
|
||||
static ThemeColor FromAccent();
|
||||
static ThemeColor FromTerminalBackground();
|
||||
|
||||
Microsoft.Terminal.Core.Color Color { get; };
|
||||
ThemeColorType ColorType;
|
||||
|
||||
static Microsoft.Terminal.Core.Color ColorFromBrush(Windows.UI.Xaml.Media.Brush brush);
|
||||
Windows.UI.Xaml.Media.Brush Evaluate(Windows.UI.Xaml.ResourceDictionary res,
|
||||
Windows.UI.Xaml.Media.Brush terminalBackground,
|
||||
Boolean forTitlebar);
|
||||
UInt8 UnfocusedTabOpacity { get; };
|
||||
}
|
||||
|
||||
runtimeclass SettingsTheme
|
||||
{
|
||||
Windows.UI.Xaml.ElementTheme RequestedTheme { get; };
|
||||
}
|
||||
|
||||
runtimeclass WindowTheme {
|
||||
Windows.UI.Xaml.ElementTheme RequestedTheme { get; };
|
||||
Boolean UseMica { get; };
|
||||
Boolean RainbowFrame { get; };
|
||||
ThemeColor Frame { get; };
|
||||
ThemeColor UnfocusedFrame { get; };
|
||||
}
|
||||
|
||||
runtimeclass TabRowTheme {
|
||||
ThemeColor Background { get; };
|
||||
ThemeColor UnfocusedBackground { get; };
|
||||
}
|
||||
|
||||
runtimeclass TabTheme {
|
||||
ThemeColor Background { get; };
|
||||
ThemeColor UnfocusedBackground { get; };
|
||||
TabCloseButtonVisibility ShowCloseButton { get; };
|
||||
IconStyle IconStyle { get; };
|
||||
}
|
||||
|
||||
[default_interface] runtimeclass Theme : Windows.Foundation.IStringable {
|
||||
Theme();
|
||||
Theme(Windows.UI.Xaml.ElementTheme requestedTheme);
|
||||
|
||||
String Name;
|
||||
|
||||
// window.* Namespace
|
||||
WindowTheme Window { get; };
|
||||
|
||||
// settings.* Namespace
|
||||
SettingsTheme Settings { get; };
|
||||
|
||||
// tabRow.* Namespace
|
||||
TabRowTheme TabRow { get; };
|
||||
|
||||
// tab.* Namespace
|
||||
TabTheme Tab { get; };
|
||||
|
||||
// A helper for retrieving the RequestedTheme out of the window property
|
||||
Windows.UI.Xaml.ElementTheme RequestedTheme { get; };
|
||||
static Boolean IsSystemInDarkTheme();
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user