2019-05-03 00:29:04 +02:00
|
|
|
// Copyright (c) Microsoft Corporation.
|
|
|
|
// Licensed under the MIT license.
|
|
|
|
|
2021-03-16 00:15:25 +01:00
|
|
|
import "CascadiaSettings.idl";
|
|
|
|
|
|
|
|
namespace Microsoft.Terminal.Settings.Model
|
2019-05-03 00:29:04 +02:00
|
|
|
{
|
|
|
|
// 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]
|
2021-03-17 21:47:24 +01:00
|
|
|
runtimeclass TerminalSettings : Microsoft.Terminal.Core.ICoreSettings,
|
|
|
|
Microsoft.Terminal.Control.IControlSettings
|
2019-05-03 00:29:04 +02:00
|
|
|
{
|
|
|
|
TerminalSettings();
|
2021-03-16 00:15:25 +01:00
|
|
|
|
2021-03-17 21:47:24 +01:00
|
|
|
static TerminalSettings CreateWithProfileByID(CascadiaSettings appSettings, Guid profileGuid, Microsoft.Terminal.Control.IKeyBindings keybindings);
|
|
|
|
static TerminalSettings CreateWithNewTerminalArgs(CascadiaSettings appSettings, NewTerminalArgs newTerminalArgs, Microsoft.Terminal.Control.IKeyBindings keybindings);
|
2021-03-16 00:15:25 +01:00
|
|
|
static TerminalSettings CreateWithParent(TerminalSettings parent);
|
|
|
|
|
|
|
|
void SetParent(TerminalSettings parent);
|
|
|
|
void ApplyColorScheme(ColorScheme scheme);
|
2019-05-03 00:29:04 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|