diff --git a/src/cascadia/Remoting/WindowManager.cpp b/src/cascadia/Remoting/WindowManager.cpp index 5fc8b1eed00..8ce04464cda 100644 --- a/src/cascadia/Remoting/WindowManager.cpp +++ b/src/cascadia/Remoting/WindowManager.cpp @@ -542,10 +542,7 @@ namespace winrt::Microsoft::Terminal::Remoting::implementation void WindowManager::SummonAllWindows() { - if constexpr (Feature_NotificationIcon::IsEnabled()) - { - _monarch.SummonAllWindows(); - } + _monarch.SummonAllWindows(); } Windows::Foundation::Collections::IVectorView WindowManager::GetPeasantInfos() diff --git a/src/cascadia/TerminalApp/AppLogic.cpp b/src/cascadia/TerminalApp/AppLogic.cpp index 4f774dc205a..cdf97cfd099 100644 --- a/src/cascadia/TerminalApp/AppLogic.cpp +++ b/src/cascadia/TerminalApp/AppLogic.cpp @@ -1587,38 +1587,24 @@ namespace winrt::TerminalApp::implementation bool AppLogic::GetMinimizeToNotificationArea() { - if constexpr (Feature_NotificationIcon::IsEnabled()) - { - if (!_loadedInitialSettings) - { - // Load settings if we haven't already - LoadSettings(); - } - - return _settings.GlobalSettings().MinimizeToNotificationArea(); - } - else + if (!_loadedInitialSettings) { - return false; + // Load settings if we haven't already + LoadSettings(); } + + return _settings.GlobalSettings().MinimizeToNotificationArea(); } bool AppLogic::GetAlwaysShowNotificationIcon() { - if constexpr (Feature_NotificationIcon::IsEnabled()) - { - if (!_loadedInitialSettings) - { - // Load settings if we haven't already - LoadSettings(); - } - - return _settings.GlobalSettings().AlwaysShowNotificationIcon(); - } - else + if (!_loadedInitialSettings) { - return false; + // Load settings if we haven't already + LoadSettings(); } + + return _settings.GlobalSettings().AlwaysShowNotificationIcon(); } bool AppLogic::GetShowTitleInTitlebar() diff --git a/src/cascadia/TerminalSettingsEditor/GlobalAppearance.cpp b/src/cascadia/TerminalSettingsEditor/GlobalAppearance.cpp index 9d6c0e08849..399f00440a8 100644 --- a/src/cascadia/TerminalSettingsEditor/GlobalAppearance.cpp +++ b/src/cascadia/TerminalSettingsEditor/GlobalAppearance.cpp @@ -199,8 +199,4 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation } } - bool GlobalAppearance::FeatureNotificationIconEnabled() const noexcept - { - return Feature_NotificationIcon::IsEnabled(); - } } diff --git a/src/cascadia/TerminalSettingsEditor/GlobalAppearance.h b/src/cascadia/TerminalSettingsEditor/GlobalAppearance.h index dd8b56fa242..236c8478778 100644 --- a/src/cascadia/TerminalSettingsEditor/GlobalAppearance.h +++ b/src/cascadia/TerminalSettingsEditor/GlobalAppearance.h @@ -25,8 +25,6 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation void OnNavigatedTo(const winrt::Windows::UI::Xaml::Navigation::NavigationEventArgs& e); - bool FeatureNotificationIconEnabled() const noexcept; - WINRT_PROPERTY(Editor::GlobalAppearancePageNavigationState, State, nullptr); GETSET_BINDABLE_ENUM_SETTING(Theme, winrt::Windows::UI::Xaml::ElementTheme, State().Globals(), Theme); GETSET_BINDABLE_ENUM_SETTING(TabWidthMode, winrt::Microsoft::UI::Xaml::Controls::TabViewWidthMode, State().Globals(), TabWidthMode); diff --git a/src/cascadia/TerminalSettingsEditor/GlobalAppearance.idl b/src/cascadia/TerminalSettingsEditor/GlobalAppearance.idl index 9840a4a3d68..7e3483140ab 100644 --- a/src/cascadia/TerminalSettingsEditor/GlobalAppearance.idl +++ b/src/cascadia/TerminalSettingsEditor/GlobalAppearance.idl @@ -25,7 +25,5 @@ namespace Microsoft.Terminal.Settings.Editor IInspectable CurrentTabWidthMode; Windows.Foundation.Collections.IObservableVector TabWidthModeList { get; }; - - Boolean FeatureNotificationIconEnabled { get; }; } } diff --git a/src/cascadia/TerminalSettingsEditor/GlobalAppearance.xaml b/src/cascadia/TerminalSettingsEditor/GlobalAppearance.xaml index 7361ec7cb8a..11df06c5482 100644 --- a/src/cascadia/TerminalSettingsEditor/GlobalAppearance.xaml +++ b/src/cascadia/TerminalSettingsEditor/GlobalAppearance.xaml @@ -88,14 +88,12 @@ - + - + diff --git a/src/cascadia/WindowsTerminal/AppHost.cpp b/src/cascadia/WindowsTerminal/AppHost.cpp index 747169f5151..09fcb564f7b 100644 --- a/src/cascadia/WindowsTerminal/AppHost.cpp +++ b/src/cascadia/WindowsTerminal/AppHost.cpp @@ -1365,17 +1365,14 @@ void AppHost::_SystemMenuChangeRequested(const winrt::Windows::Foundation::IInsp // - void AppHost::_CreateNotificationIcon() { - if constexpr (Feature_NotificationIcon::IsEnabled()) - { - _notificationIcon = std::make_unique(_window->GetHandle()); - - // Hookup the handlers, save the tokens for revoking if settings change. - _ReAddNotificationIconToken = _window->NotifyReAddNotificationIcon([this]() { _notificationIcon->ReAddNotificationIcon(); }); - _NotificationIconPressedToken = _window->NotifyNotificationIconPressed([this]() { _notificationIcon->NotificationIconPressed(); }); - _ShowNotificationIconContextMenuToken = _window->NotifyShowNotificationIconContextMenu([this](til::point coord) { _notificationIcon->ShowContextMenu(coord, _windowManager.GetPeasantInfos()); }); - _NotificationIconMenuItemSelectedToken = _window->NotifyNotificationIconMenuItemSelected([this](HMENU hm, UINT idx) { _notificationIcon->MenuItemSelected(hm, idx); }); - _notificationIcon->SummonWindowRequested([this](auto& args) { _windowManager.SummonWindow(args); }); - } + _notificationIcon = std::make_unique(_window->GetHandle()); + + // Hookup the handlers, save the tokens for revoking if settings change. + _ReAddNotificationIconToken = _window->NotifyReAddNotificationIcon([this]() { _notificationIcon->ReAddNotificationIcon(); }); + _NotificationIconPressedToken = _window->NotifyNotificationIconPressed([this]() { _notificationIcon->NotificationIconPressed(); }); + _ShowNotificationIconContextMenuToken = _window->NotifyShowNotificationIconContextMenu([this](til::point coord) { _notificationIcon->ShowContextMenu(coord, _windowManager.GetPeasantInfos()); }); + _NotificationIconMenuItemSelectedToken = _window->NotifyNotificationIconMenuItemSelected([this](HMENU hm, UINT idx) { _notificationIcon->MenuItemSelected(hm, idx); }); + _notificationIcon->SummonWindowRequested([this](auto& args) { _windowManager.SummonWindow(args); }); } // Method Description: @@ -1386,55 +1383,46 @@ void AppHost::_CreateNotificationIcon() // - void AppHost::_DestroyNotificationIcon() { - if constexpr (Feature_NotificationIcon::IsEnabled()) - { - _window->NotifyReAddNotificationIcon(_ReAddNotificationIconToken); - _window->NotifyNotificationIconPressed(_NotificationIconPressedToken); - _window->NotifyShowNotificationIconContextMenu(_ShowNotificationIconContextMenuToken); - _window->NotifyNotificationIconMenuItemSelected(_NotificationIconMenuItemSelectedToken); + _window->NotifyReAddNotificationIcon(_ReAddNotificationIconToken); + _window->NotifyNotificationIconPressed(_NotificationIconPressedToken); + _window->NotifyShowNotificationIconContextMenu(_ShowNotificationIconContextMenuToken); + _window->NotifyNotificationIconMenuItemSelected(_NotificationIconMenuItemSelectedToken); - _notificationIcon->RemoveIconFromNotificationArea(); - _notificationIcon = nullptr; - } + _notificationIcon->RemoveIconFromNotificationArea(); + _notificationIcon = nullptr; } void AppHost::_ShowNotificationIconRequested() { - if constexpr (Feature_NotificationIcon::IsEnabled()) + if (_windowManager.IsMonarch()) { - if (_windowManager.IsMonarch()) + if (!_notificationIcon) { - if (!_notificationIcon) - { - _CreateNotificationIcon(); - } - } - else - { - _windowManager.RequestShowNotificationIcon(); + _CreateNotificationIcon(); } } + else + { + _windowManager.RequestShowNotificationIcon(); + } } void AppHost::_HideNotificationIconRequested() { - if constexpr (Feature_NotificationIcon::IsEnabled()) + if (_windowManager.IsMonarch()) { - if (_windowManager.IsMonarch()) + // Destroy it only if our settings allow it + if (_notificationIcon && + !_logic.GetAlwaysShowNotificationIcon() && + !_logic.GetMinimizeToNotificationArea()) { - // Destroy it only if our settings allow it - if (_notificationIcon && - !_logic.GetAlwaysShowNotificationIcon() && - !_logic.GetMinimizeToNotificationArea()) - { - _DestroyNotificationIcon(); - } - } - else - { - _windowManager.RequestHideNotificationIcon(); + _DestroyNotificationIcon(); } } + else + { + _windowManager.RequestHideNotificationIcon(); + } } // Method Description: diff --git a/src/features.xml b/src/features.xml index 31642a0adfd..3fffd6c04de 100644 --- a/src/features.xml +++ b/src/features.xml @@ -57,13 +57,6 @@ - - Feature_NotificationIcon - Controls whether the Notification Icon and related settings (aka. MinimizeToNotificationArea and AlwaysShowNotificationIcon) are enabled - AlwaysEnabled - - - Feature_PersistedWindowLayout Whether to allow the user to enable persisted window layout saving and loading