From 53133f090494b05efc406eee9c43e67a32ca4afd Mon Sep 17 00:00:00 2001 From: Jaime Bernardo Date: Tue, 31 Oct 2023 11:08:18 +0000 Subject: [PATCH] [HotFix]Revert "[FancyZones]Filtering popup windows for all operations (#28975)" (#29532) This reverts commit 1b333dfee001b2654a16cc8774f8864e895db067. --- src/modules/fancyzones/FancyZonesLib/FancyZones.cpp | 9 +++++++++ .../FancyZonesLib/FancyZonesWindowProcessing.cpp | 5 ++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/modules/fancyzones/FancyZonesLib/FancyZones.cpp b/src/modules/fancyzones/FancyZonesLib/FancyZones.cpp index 960f797f721..f708a2d4f89 100644 --- a/src/modules/fancyzones/FancyZonesLib/FancyZones.cpp +++ b/src/modules/fancyzones/FancyZonesLib/FancyZones.cpp @@ -394,6 +394,15 @@ void FancyZones::WindowCreated(HWND window) noexcept return; } + // Hotfix + // Avoid automatically moving popup windows, as they can be just popup menus. + bool isPopup = FancyZonesWindowUtils::IsPopupWindow(window); + bool hasThickFrame = FancyZonesWindowUtils::HasThickFrame(window); + if (isPopup && !hasThickFrame) + { + return; + } + // Avoid already stamped (zoned) windows const bool isZoned = !FancyZonesWindowProperties::RetrieveZoneIndexProperty(window).empty(); if (isZoned) diff --git a/src/modules/fancyzones/FancyZonesLib/FancyZonesWindowProcessing.cpp b/src/modules/fancyzones/FancyZonesLib/FancyZonesWindowProcessing.cpp index 5a0c2eda534..102392ba91b 100644 --- a/src/modules/fancyzones/FancyZonesLib/FancyZonesWindowProcessing.cpp +++ b/src/modules/fancyzones/FancyZonesLib/FancyZonesWindowProcessing.cpp @@ -27,9 +27,8 @@ bool FancyZonesWindowProcessing::IsProcessable(HWND window) noexcept // popup could be the window we don't want to snap: start menu, notification popup, tray window, etc. // also, popup could be the windows we want to snap disregarding the "allowSnapPopupWindows" setting, e.g. Telegram - bool isPopup = FancyZonesWindowUtils::IsPopupWindow(window); - bool hasThickFrame = FancyZonesWindowUtils::HasThickFrame(window); - if (isPopup && (!hasThickFrame || !FancyZonesSettings::settings().allowSnapPopupWindows)) + bool isPopup = FancyZonesWindowUtils::IsPopupWindow(window) && !FancyZonesWindowUtils::HasThickFrameAndMinimizeMaximizeButtons(window); + if (isPopup && !FancyZonesSettings::settings().allowSnapPopupWindows) { return false; }