// Copyright (c) Microsoft Corporation. // Licensed under the MIT license. import "ColorScheme.idl"; import "KeyMapping.idl"; import "Command.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 X; Windows.Foundation.IReference Y; }; enum LaunchMode { DefaultMode, MaximizedMode, FullscreenMode, FocusMode, MaximizedFocusMode, }; enum TabSwitcherMode { MostRecentlyUsed, InOrder, Disabled, }; [default_interface] runtimeclass GlobalAppSettings { Guid DefaultProfile; Boolean HasUnparsedDefaultProfile(); void ClearUnparsedDefaultProfile(); String UnparsedDefaultProfile; Boolean HasInitialRows(); void ClearInitialRows(); Int32 InitialRows; Boolean HasInitialCols(); void ClearInitialCols(); Int32 InitialCols; Boolean HasAlwaysShowTabs(); void ClearAlwaysShowTabs(); Boolean AlwaysShowTabs; Boolean HasShowTitleInTitlebar(); void ClearShowTitleInTitlebar(); Boolean ShowTitleInTitlebar; Boolean HasConfirmCloseAllTabs(); void ClearConfirmCloseAllTabs(); Boolean ConfirmCloseAllTabs; Boolean HasTheme(); void ClearTheme(); Windows.UI.Xaml.ElementTheme Theme; Boolean HasTabWidthMode(); void ClearTabWidthMode(); Microsoft.UI.Xaml.Controls.TabViewWidthMode TabWidthMode; Boolean HasShowTabsInTitlebar(); void ClearShowTabsInTitlebar(); Boolean ShowTabsInTitlebar; Boolean HasWordDelimiters(); void ClearWordDelimiters(); String WordDelimiters; Boolean HasCopyOnSelect(); void ClearCopyOnSelect(); Boolean CopyOnSelect; Boolean HasCopyFormatting(); void ClearCopyFormatting(); Microsoft.Terminal.TerminalControl.CopyFormat CopyFormatting; Boolean HasWarnAboutLargePaste(); void ClearWarnAboutLargePaste(); Boolean WarnAboutLargePaste; Boolean HasWarnAboutMultiLinePaste(); void ClearWarnAboutMultiLinePaste(); Boolean WarnAboutMultiLinePaste; Boolean HasInitialPosition(); void ClearInitialPosition(); LaunchPosition InitialPosition; Boolean HasLaunchMode(); void ClearLaunchMode(); LaunchMode LaunchMode; Boolean HasSnapToGridOnResize(); void ClearSnapToGridOnResize(); Boolean SnapToGridOnResize; Boolean HasForceFullRepaintRendering(); void ClearForceFullRepaintRendering(); Boolean ForceFullRepaintRendering; Boolean HasSoftwareRendering(); void ClearSoftwareRendering(); Boolean SoftwareRendering; Boolean HasForceVTInput(); void ClearForceVTInput(); Boolean ForceVTInput; Boolean HasDebugFeaturesEnabled(); void ClearDebugFeaturesEnabled(); Boolean DebugFeaturesEnabled; Boolean HasStartOnUserLogin(); void ClearStartOnUserLogin(); Boolean StartOnUserLogin; Boolean HasAlwaysOnTop(); void ClearAlwaysOnTop(); Boolean AlwaysOnTop; Boolean HasTabSwitcherMode(); void ClearTabSwitcherMode(); TabSwitcherMode TabSwitcherMode; Boolean HasDisableAnimations(); void ClearDisableAnimations(); Boolean DisableAnimations; Windows.Foundation.Collections.IMapView ColorSchemes(); void AddColorScheme(ColorScheme scheme); void RemoveColorScheme(String schemeName); KeyMapping KeyMap(); Windows.Foundation.Collections.IMapView Commands(); Boolean HasStartupActions(); void ClearStartupActions(); String StartupActions(); } }