// Copyright (c) Microsoft Corporation. // Licensed under the MIT license. import "IKeyBindings.idl"; import "IControlAppearance.idl"; namespace Microsoft.Terminal.Control { enum ScrollbarState { Visible = 0, Hidden }; enum TextAntialiasingMode { Grayscale = 0, Cleartype, Aliased }; // Class Description: // TerminalSettings encapsulates all settings that control the // TermControl's behavior. In these settings there is both the entirety // of the Core ITerminalSettings interface, and any additional settings // for specifically the control. interface IControlSettings requires Microsoft.Terminal.Core.ICoreSettings, Microsoft.Terminal.Control.IControlAppearance { String ProfileName; String ProfileSource; Boolean UseAcrylic { get; }; ScrollbarState ScrollState { get; }; Boolean UseAtlasEngine { get; }; String FontFace { get; }; Int32 FontSize { get; }; Windows.UI.Text.FontWeight FontWeight { get; }; String Padding { get; }; Windows.Foundation.Collections.IMap FontFeatures { get; }; Windows.Foundation.Collections.IMap FontAxes { get; }; Microsoft.Terminal.Control.IKeyBindings KeyBindings { get; }; Boolean CopyOnSelect { get; }; Boolean FocusFollowMouse { get; }; String Commandline { get; }; String StartingDirectory { get; }; String EnvironmentVariables { get; }; TextAntialiasingMode AntialiasingMode { get; }; // Experimental Settings Boolean ForceFullRepaintRendering { get; }; Boolean SoftwareRendering { get; }; }; }