You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Fullscreen apps often do not have a caption/title bar (WS_CAPTION) and are implemented as popup windows (WS_POPUP). The old filter dropped these windows from openWindows() results even though they are valid top-level visible windows.
What changed
openWindows() now includes fullscreen apps that were previously missing, while preserving existing filters for tool windows and child windows.
I think this is too broad. WS_POPUP is not really a synonym for fullscreen app window; Microsoft documents it as the style used for dialog boxes, message boxes, and other temporary windows too. So changing the filter from hasCaption to hasCaption || hasPopup will start admiting visible transient popups as open windows as long as they are not child windows or tool windows.
That may fix one fullscreen case, but it does it by weakening the filter globally. If we want to include borderless fullscreen apps, I think we need an extra heuristic here to separate real app windows from owned/transient popups, not just check WS_POPUP on its own.
It is now filtering out the transient/owned popups. Note: The list also excludes the owner when an owned dialog visible but that is due to IsWindowEnabled(hwnd) check since Windows disables the owner when there's a child visible. So that would be an expected behaviour
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix for the the issue #161
Cause
Fullscreen apps often do not have a caption/title bar (
WS_CAPTION) and are implemented as popup windows (WS_POPUP). The old filter dropped these windows fromopenWindows()results even though they are valid top-level visible windows.What changed
openWindows()now includes fullscreen apps that were previously missing, while preserving existing filters for tool windows and child windows.EnumDekstopWindowsProcin main.cc.hasCaption = (dwStyle & WS_CAPTION) == WS_CAPTIONhasPopup = (dwStyle & WS_POPUP) == WS_POPUP(hasCaption || hasPopup)