Handle fullscreen windows in vectorToWindowIdeal #4021
Merged
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.
Describe your PR, what does it fix/add?
Clicking in a fullscreen window over the decoration area (gaps, border, groupbar) of other windows will pass the mousedown event to the other window in some cases.
Example: With two (or more) tiled windows on a workspace, activating fullscreen for one of them, then clicking over the area where another window had a groupbar (or when using
no_gaps_when_only = yes
withresize_on_border = yes
) wasn't possible (it was interactive with the groupbar).Most notable annoyances were the inability to click on browser tabs, or to simply drag the scrollbars.
Problem: m_vWindows is sorted from bottom to top. Fullscreening a window will put it at the end of that list, so it will be always the last to be checked. However, other tiled windows can be under the cursor at the same time (beneath the fullscreen window), and if one matches,
vectorToWindowIdeal
will return it first.Solution:
check in reverse order, so the top window will be returned first, or first check for fullscreen windows on the workspace.Is there anything you want to mention? (unchecked code, possible bugs, found problems, breaking compatibility, etc.)
I've left some other minor changes in the code, while testing, if you don't mind.
Also, most probably fixes #2847.
Is it ready for merging, or does it need work?
I guess.