From 018fade640ee459a0bc8c081f9351568bda650e8 Mon Sep 17 00:00:00 2001 From: AbhishekGiri04 Date: Mon, 15 Dec 2025 20:14:42 +0530 Subject: [PATCH 1/3] Fix tab row acrylic material in unfocused windows (#19544) This commit fixes the issue where the tab row loses its acrylic material when the window loses focus, even when 'Allow acrylic material in unfocused windows' setting is enabled. The fix modifies the _updateThemeColors() function in TerminalPage.cpp to check both the UseAcrylicInTabRow setting AND the window focus state along with the EnableUnfocusedAcrylic setting. Now the tab row will maintain its acrylic effect when: 1. UseAcrylicInTabRow is enabled, AND 2. Either the window is focused OR EnableUnfocusedAcrylic is enabled This ensures that the 'Allow acrylic material in unfocused windows' setting is properly respected for the tab row, not just the terminal background. Fixes #19544 --- src/cascadia/TerminalApp/TerminalPage.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/cascadia/TerminalApp/TerminalPage.cpp b/src/cascadia/TerminalApp/TerminalPage.cpp index 229fd98757..2313ecf549 100644 --- a/src/cascadia/TerminalApp/TerminalPage.cpp +++ b/src/cascadia/TerminalApp/TerminalPage.cpp @@ -4865,7 +4865,14 @@ namespace winrt::TerminalApp::implementation } } - if (_settings.GlobalSettings().UseAcrylicInTabRow()) + // Check if we should use acrylic in the tab row + // Use acrylic if: + // 1. UseAcrylicInTabRow is enabled, AND + // 2. Either the window is focused OR EnableUnfocusedAcrylic is enabled + const bool shouldUseAcrylic = _settings.GlobalSettings().UseAcrylicInTabRow() && + (_activated || _settings.GlobalSettings().EnableUnfocusedAcrylic()); + + if (shouldUseAcrylic) { const auto acrylicBrush = Media::AcrylicBrush(); acrylicBrush.BackgroundSource(Media::AcrylicBackgroundSource::HostBackdrop); From acb19efea70e8f246938845c489e26eb71986106 Mon Sep 17 00:00:00 2001 From: Carlos Zamora Date: Mon, 12 Jan 2026 13:18:23 -0800 Subject: [PATCH 2/3] Remove unused variable --- src/cascadia/TerminalApp/TerminalPage.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cascadia/TerminalApp/TerminalPage.cpp b/src/cascadia/TerminalApp/TerminalPage.cpp index 2313ecf549..ea200bd6d2 100644 --- a/src/cascadia/TerminalApp/TerminalPage.cpp +++ b/src/cascadia/TerminalApp/TerminalPage.cpp @@ -4872,7 +4872,7 @@ namespace winrt::TerminalApp::implementation const bool shouldUseAcrylic = _settings.GlobalSettings().UseAcrylicInTabRow() && (_activated || _settings.GlobalSettings().EnableUnfocusedAcrylic()); - if (shouldUseAcrylic) + if (_settings.GlobalSettings().UseAcrylicInTabRow() && (_activated || _settings.GlobalSettings().EnableUnfocusedAcrylic())) { const auto acrylicBrush = Media::AcrylicBrush(); acrylicBrush.BackgroundSource(Media::AcrylicBackgroundSource::HostBackdrop); From 3abee3510225a7c022b71934419f1417788b2ab6 Mon Sep 17 00:00:00 2001 From: Carlos Zamora Date: Mon, 12 Jan 2026 13:57:43 -0800 Subject: [PATCH 3/3] Remove `shouldUseAcrylic` --- src/cascadia/TerminalApp/TerminalPage.cpp | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/cascadia/TerminalApp/TerminalPage.cpp b/src/cascadia/TerminalApp/TerminalPage.cpp index ea200bd6d2..3584418a9c 100644 --- a/src/cascadia/TerminalApp/TerminalPage.cpp +++ b/src/cascadia/TerminalApp/TerminalPage.cpp @@ -4869,9 +4869,6 @@ namespace winrt::TerminalApp::implementation // Use acrylic if: // 1. UseAcrylicInTabRow is enabled, AND // 2. Either the window is focused OR EnableUnfocusedAcrylic is enabled - const bool shouldUseAcrylic = _settings.GlobalSettings().UseAcrylicInTabRow() && - (_activated || _settings.GlobalSettings().EnableUnfocusedAcrylic()); - if (_settings.GlobalSettings().UseAcrylicInTabRow() && (_activated || _settings.GlobalSettings().EnableUnfocusedAcrylic())) { const auto acrylicBrush = Media::AcrylicBrush();