terminal/src/cascadia/TerminalSettingsModel
PankajBhojwani 9e83655b08
Add support for a profile to specify an "unfocused" appearance (#8392)
This pull request adds an appearance configuration object to our
settings model and app lib, allowing the control to be rendered
differently depending on its state, and then uses it to add support for
an "unfocused" appearance that the terminal will use when it's not in
focus.

To accomplish this, we isolated the appearance-related settings from
Profile (into AppearanceConfig) and TerminalSettings (into the
IControlAppearance and ICoreAppearance interfaces). A bunch of work was
done to make inheritance work.

The unfocused appearance inherits from the focused one _for that
profile_. This is important: If you define a
defaults.unfocusedAppearance, it will apply all of defaults' settings to
any leaf profile when a terminal in that profile is out of focus.

Specified in #8345 
Closes #3062
Closes #2316
2021-04-08 22:46:16 +00:00
..
dll Fix build break where Microsoft.Terminal.Control.dll is empty (#9537) 2021-03-18 16:14:21 +00:00
Resources/en-US Add support for renaming windows (#9662) 2021-04-02 16:00:04 +00:00
ActionAndArgs.cpp Add support for renaming windows (#9662) 2021-04-02 16:00:04 +00:00
ActionAndArgs.h Replace some of our macros to reduce confusion, increase success (#9376) 2021-03-04 11:27:03 -08:00
ActionArgs.cpp Add support for renaming windows (#9662) 2021-04-02 16:00:04 +00:00
ActionArgs.h Add support for renaming windows (#9662) 2021-04-02 16:00:04 +00:00
ActionArgs.idl Add support for renaming windows (#9662) 2021-04-02 16:00:04 +00:00
AllShortcutActions.h Add support for renaming windows (#9662) 2021-04-02 16:00:04 +00:00
AppearanceConfig.cpp Add support for a profile to specify an "unfocused" appearance (#8392) 2021-04-08 22:46:16 +00:00
AppearanceConfig.h Add support for a profile to specify an "unfocused" appearance (#8392) 2021-04-08 22:46:16 +00:00
AppearanceConfig.idl Add support for a profile to specify an "unfocused" appearance (#8392) 2021-04-08 22:46:16 +00:00
AzureCloudShellGenerator.cpp Add support for a profile to specify an "unfocused" appearance (#8392) 2021-04-08 22:46:16 +00:00
AzureCloudShellGenerator.h Introduce TerminalSettingsModel project (#7667) 2020-10-06 09:56:59 -07:00
CascadiaSettings.cpp Add support for a profile to specify an "unfocused" appearance (#8392) 2021-04-08 22:46:16 +00:00
CascadiaSettings.h Add support for "fragment extensions" (#7632) 2021-02-19 02:12:16 +00:00
CascadiaSettings.idl Bugfix: sync color scheme rename with profile reference (#8793) 2021-01-22 18:21:18 +00:00
CascadiaSettingsSerialization.cpp Add support for a profile to specify an "unfocused" appearance (#8392) 2021-04-08 22:46:16 +00:00
ColorScheme.cpp Introduce MS.Term.Core.Color to replace W.U.Color for Core/Control/TSM (#9658) 2021-03-30 20:15:49 +00:00
ColorScheme.h Introduce MS.Term.Core.Color to replace W.U.Color for Core/Control/TSM (#9658) 2021-03-30 20:15:49 +00:00
ColorScheme.idl Introduce MS.Term.Core.Color to replace W.U.Color for Core/Control/TSM (#9658) 2021-03-30 20:15:49 +00:00
Command.cpp Invalidate nested command with no valid subcommands (#9495) 2021-03-15 16:34:06 +00:00
Command.h Replace some of our macros to reduce confusion, increase success (#9376) 2021-03-04 11:27:03 -08:00
Command.idl Add a simple page for keybindings (#9253) 2021-02-23 23:37:23 +00:00
DefaultProfileUtils.cpp Introduce setting override tracking and update SettingContainer (#9079) 2021-02-19 23:50:52 +00:00
DefaultProfileUtils.h Make Global and Profile settings inheritable (#7923) 2020-10-27 17:35:09 +00:00
defaults-universal.json Implement user-specified pixel shaders, redux (#8565) 2020-12-15 20:40:22 +00:00
defaults.json Add support for renaming windows (#9662) 2021-04-02 16:00:04 +00:00
EnumMappings.cpp Rename Microsoft.Terminal.TerminalControl to .Control; Split into dll & lib (#9472) 2021-03-17 20:47:24 +00:00
EnumMappings.h Rename Microsoft.Terminal.TerminalControl to .Control; Split into dll & lib (#9472) 2021-03-17 20:47:24 +00:00
EnumMappings.idl Rename Microsoft.Terminal.TerminalControl to .Control; Split into dll & lib (#9472) 2021-03-17 20:47:24 +00:00
GlobalAppSettings.cpp Invalidate nested command with no valid subcommands (#9495) 2021-03-15 16:34:06 +00:00
GlobalAppSettings.h Rename Microsoft.Terminal.TerminalControl to .Control; Split into dll & lib (#9472) 2021-03-17 20:47:24 +00:00
GlobalAppSettings.idl Allow overriding tab switcher mode on command level (#9507) 2021-03-23 22:00:07 +00:00
IAppearanceConfig.idl Add support for a profile to specify an "unfocused" appearance (#8392) 2021-04-08 22:46:16 +00:00
IconPathConverter.cpp Move IconSourceConverter from TerminalApp to TSM 2020-12-11 13:17:22 -08:00
IconPathConverter.h Move IconSourceConverter from TerminalApp to TSM 2020-12-11 13:17:22 -08:00
IconPathConverter.idl Move IconSourceConverter from TerminalApp to TSM 2020-12-11 13:17:22 -08:00
IDynamicProfileGenerator.h Introduce TerminalSettingsModel project (#7667) 2020-10-06 09:56:59 -07:00
IInheritable.h Move TerminalSettings from TermApp to TerminalSettingsModel (#9318) 2021-03-15 23:15:25 +00:00
IInheritable.idl.h Introduce setting override tracking and update SettingContainer (#9079) 2021-02-19 23:50:52 +00:00
init.cpp Hook up the WIL fallback error tracer in Terminal (#7864) 2020-10-09 22:20:12 +00:00
JsonUtils.h Introduce MS.Term.Core.Color to replace W.U.Color for Core/Control/TSM (#9658) 2021-03-30 20:15:49 +00:00
KeyChordSerialization.cpp Rename Microsoft.Terminal.TerminalControl to .Control; Split into dll & lib (#9472) 2021-03-17 20:47:24 +00:00
KeyChordSerialization.h Rename Microsoft.Terminal.TerminalControl to .Control; Split into dll & lib (#9472) 2021-03-17 20:47:24 +00:00
KeyChordSerialization.idl Rename Microsoft.Terminal.TerminalControl to .Control; Split into dll & lib (#9472) 2021-03-17 20:47:24 +00:00
KeyMapping.cpp Rename Microsoft.Terminal.TerminalControl to .Control; Split into dll & lib (#9472) 2021-03-17 20:47:24 +00:00
KeyMapping.h Rename Microsoft.Terminal.TerminalControl to .Control; Split into dll & lib (#9472) 2021-03-17 20:47:24 +00:00
KeyMapping.idl Add X Macro for fun and for profit (#9667) 2021-03-31 16:38:25 +00:00
KeyMappingSerialization.cpp Rename Microsoft.Terminal.TerminalControl to .Control; Split into dll & lib (#9472) 2021-03-17 20:47:24 +00:00
LegacyProfileGeneratorNamespaces.h From orbit, nuke the Telnet connection and all supporting infra. (#7840) 2020-10-09 18:59:58 +00:00
Microsoft.Terminal.Settings.ModelLib.vcxproj Add support for a profile to specify an "unfocused" appearance (#8392) 2021-04-08 22:46:16 +00:00
Microsoft.Terminal.Settings.ModelLib.vcxproj.filters Introduce public enum name<->value mappings to TSM 2020-12-11 13:19:03 -08:00
packages.config Update C++/WinRT to 2.0.210309.3 (#9437) 2021-03-10 16:04:59 -06:00
pch.cpp Introduce TerminalSettingsModel project (#7667) 2020-10-06 09:56:59 -07:00
pch.h Introduce MS.Term.Core.Color to replace W.U.Color for Core/Control/TSM (#9658) 2021-03-30 20:15:49 +00:00
PowershellCoreProfileGenerator.cpp Add support for a profile to specify an "unfocused" appearance (#8392) 2021-04-08 22:46:16 +00:00
PowershellCoreProfileGenerator.h Introduce TerminalSettingsModel project (#7667) 2020-10-06 09:56:59 -07:00
Profile.cpp Add support for a profile to specify an "unfocused" appearance (#8392) 2021-04-08 22:46:16 +00:00
Profile.h Add support for a profile to specify an "unfocused" appearance (#8392) 2021-04-08 22:46:16 +00:00
Profile.idl Add support for a profile to specify an "unfocused" appearance (#8392) 2021-04-08 22:46:16 +00:00
SettingsTypes.h Introduce TerminalSettingsModel project (#7667) 2020-10-06 09:56:59 -07:00
TerminalSettings.cpp Add support for a profile to specify an "unfocused" appearance (#8392) 2021-04-08 22:46:16 +00:00
TerminalSettings.h Add support for a profile to specify an "unfocused" appearance (#8392) 2021-04-08 22:46:16 +00:00
TerminalSettings.idl Add support for a profile to specify an "unfocused" appearance (#8392) 2021-04-08 22:46:16 +00:00
TerminalSettingsSerializationHelpers.h Rename Microsoft.Terminal.TerminalControl to .Control; Split into dll & lib (#9472) 2021-03-17 20:47:24 +00:00
TerminalWarnings.h Introduce TerminalSettingsModel project (#7667) 2020-10-06 09:56:59 -07:00
TerminalWarnings.idl Invalidate nested command with no valid subcommands (#9495) 2021-03-15 16:34:06 +00:00
userDefaults.json Introduce TerminalSettingsModel project (#7667) 2020-10-06 09:56:59 -07:00
WslDistroGenerator.cpp Add support for a profile to specify an "unfocused" appearance (#8392) 2021-04-08 22:46:16 +00:00
WslDistroGenerator.h Introduce TerminalSettingsModel project (#7667) 2020-10-06 09:56:59 -07:00