diff --git a/src/cascadia/TerminalControl/ControlAppearance.h b/src/cascadia/TerminalControl/ControlAppearance.h index 7ca237261..877055c53 100644 --- a/src/cascadia/TerminalControl/ControlAppearance.h +++ b/src/cascadia/TerminalControl/ControlAppearance.h @@ -27,7 +27,7 @@ namespace winrt::Microsoft::Terminal::Control::implementation // All of these settings are defined in IControlSettings. #define CONTROL_APPEARANCE_SETTINGS(X) \ X(til::color, SelectionBackground, DEFAULT_FOREGROUND) \ - X(double, Opacity, .5) \ + X(double, Opacity, 1.0) \ X(winrt::hstring, BackgroundImage) \ X(double, BackgroundImageOpacity, 1.0) \ X(winrt::Windows::UI::Xaml::Media::Stretch, BackgroundImageStretchMode, winrt::Windows::UI::Xaml::Media::Stretch::UniformToFill) \ @@ -55,13 +55,13 @@ namespace winrt::Microsoft::Terminal::Control::implementation std::array ColorTable() { return _ColorTable; } void ColorTable(std::array /*colors*/) {} - // ControlSettings() - // { - // const auto campbellSpan = ::Microsoft::Console::Utils::CampbellColorTable(); - // std::transform(campbellSpan.begin(), campbellSpan.end(), _ColorTable.begin(), [](auto&& color) { - // return static_cast(til::color{ color }); - // }); - // } + ControlAppearance(Control::IControlAppearance appearance) + { +#define COPY_SETTING(type, name, ...) _##name = appearance.name(); + CORE_APPEARANCE_SETTINGS(COPY_SETTING) + CONTROL_APPEARANCE_SETTINGS(COPY_SETTING) +#undef COPY_SETTING + } }; } diff --git a/src/cascadia/TerminalControl/ControlSettings.h b/src/cascadia/TerminalControl/ControlSettings.h index 6c8628d64..61e08e2c3 100644 --- a/src/cascadia/TerminalControl/ControlSettings.h +++ b/src/cascadia/TerminalControl/ControlSettings.h @@ -24,7 +24,6 @@ namespace winrt::Microsoft::Terminal::Control::implementation X(bool, AltGrAliasing, true) \ X(winrt::hstring, WordDelimiters, DEFAULT_WORD_DELIMITERS) \ X(bool, CopyOnSelect, false) \ - X(bool, InputServiceWarning, true) \ X(bool, FocusFollowMouse, false) \ X(winrt::Windows::Foundation::IReference, TabColor, nullptr) \ X(winrt::Windows::Foundation::IReference, StartingTabColor, nullptr) \ @@ -62,7 +61,24 @@ namespace winrt::Microsoft::Terminal::Control::implementation CONTROL_SETTINGS(CONTROL_SETTINGS_GEN) #undef CONTROL_SETTINGS_GEN + private: + winrt::com_ptr _unfocusedAppearance{ nullptr }; + winrt::com_ptr _focusedAppearance{ nullptr }; + public: + ControlSettings(Control::IControlSettings settings, Control::IControlAppearance unfocusedAppearance) + { + _focusedAppearance = winrt::make_self(settings); + _unfocusedAppearance = unfocusedAppearance ? + winrt::make_self(unfocusedAppearance) : + _focusedAppearance; + +#define COPY_SETTING(type, name, ...) _##name = settings.name(); + CORE_SETTINGS(COPY_SETTING) + CONTROL_SETTINGS(COPY_SETTING) +#undef COPY_SETTING + } + winrt::com_ptr UnfocusedAppearance() { return _unfocusedAppearance; @@ -71,18 +87,6 @@ namespace winrt::Microsoft::Terminal::Control::implementation { return _focusedAppearance; }; - - private: - winrt::com_ptr _unfocusedAppearance{ nullptr }; - winrt::com_ptr _focusedAppearance{ nullptr }; - - // ControlSettings() - // { - // const auto campbellSpan = ::Microsoft::Console::Utils::CampbellColorTable(); - // std::transform(campbellSpan.begin(), campbellSpan.end(), _ColorTable.begin(), [](auto&& color) { - // return static_cast(til::color{ color }); - // }); - // } }; } diff --git a/src/cascadia/TerminalSettingsModel/TerminalSettings.h b/src/cascadia/TerminalSettingsModel/TerminalSettings.h index 1c27f689e..9247be0c1 100644 --- a/src/cascadia/TerminalSettingsModel/TerminalSettings.h +++ b/src/cascadia/TerminalSettingsModel/TerminalSettings.h @@ -95,7 +95,6 @@ namespace winrt::Microsoft::Terminal::Settings::Model::implementation INHERITABLE_SETTING(Model::TerminalSettings, uint32_t, CursorHeight, DEFAULT_CURSOR_HEIGHT); INHERITABLE_SETTING(Model::TerminalSettings, hstring, WordDelimiters, DEFAULT_WORD_DELIMITERS); INHERITABLE_SETTING(Model::TerminalSettings, bool, CopyOnSelect, false); - INHERITABLE_SETTING(Model::TerminalSettings, bool, InputServiceWarning, true); INHERITABLE_SETTING(Model::TerminalSettings, bool, FocusFollowMouse, false); INHERITABLE_SETTING(Model::TerminalSettings, bool, TrimBlockSelection, false); INHERITABLE_SETTING(Model::TerminalSettings, bool, DetectURLs, true); diff --git a/src/cascadia/UnitTests_Control/MockControlSettings.h b/src/cascadia/UnitTests_Control/MockControlSettings.h index c2e6db9ae..329d47e9c 100644 --- a/src/cascadia/UnitTests_Control/MockControlSettings.h +++ b/src/cascadia/UnitTests_Control/MockControlSettings.h @@ -35,7 +35,6 @@ namespace ControlUnitTests WINRT_PROPERTY(uint32_t, CursorHeight, DEFAULT_CURSOR_HEIGHT); WINRT_PROPERTY(winrt::hstring, WordDelimiters, DEFAULT_WORD_DELIMITERS); WINRT_PROPERTY(bool, CopyOnSelect, false); - WINRT_PROPERTY(bool, InputServiceWarning, true); WINRT_PROPERTY(bool, FocusFollowMouse, false); WINRT_PROPERTY(winrt::Windows::Foundation::IReference, TabColor, nullptr);