FancyZones: filter out WM_POPUP windows if they dont have maximize/minimize button or a sizable frame (#1212)

This filters out TaskView and Win32 menus.
This commit is contained in:
Bartosz Sosnowski 2020-02-05 12:31:35 +01:00 committed by GitHub
parent ed35a143ec
commit 0ecfbfad53
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -80,6 +80,14 @@ bool HWNDDataCache::is_invalid_class(HWND hwnd) const {
}
bool HWNDDataCache::is_invalid_style(HWND hwnd) const {
auto style = GetWindowLong(hwnd, GWL_STYLE);
// WS_POPUP need to have a border or minimize/maximize buttons,
// otherwise the window is "not interesting"
if ((style & WS_POPUP) == WS_POPUP &&
(style & WS_THICKFRAME) == 0 &&
(style & WS_MINIMIZEBOX) == 0 &&
(style & WS_MAXIMIZEBOX) == 0) {
return true;
}
for (auto invalid : invalid_basic_styles) {
if ((invalid & style) != 0) {
return true;