Conversation
|
All contributors have signed the CLA ✍️ ✅ |
The actions bar and its reveal highlight were laid out from the node's computed rectangle, while the reveal logic hit-tests against the real window position. For a window smaller than its cell (e.g. one that has reached its maximum size) the bar was centered over the cell, outside the horizontal range that keeps it visible, so it disappeared before the cursor could reach it. Track the visible window bounds in the view model and bind the bar and the highlight to them instead.
SQReder
force-pushed
the
feat/actions-follow-window
branch
from
September 21, 2026 15:32
a13d5b8 to
4eeebdf
Compare
This branch has not been deployed
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Context
The window actions bar (split / stack / pull up / float / more) is laid out from the node's
ComputedRectangle, i.e. the layout cell, while the reveal logic inTilingWindowViewModelhit-tests the cursor against the real window position.The two only agree while the window fills its cell. A window that is smaller than its cell — for example one that has reached its maximum size, which ends up left-aligned in the cell — gets the bar centered over the cell, outside the horizontal range that keeps the bar visible. Moving the cursor towards the bar hides it, so the actions are unreachable for such windows.
Changes
TilingWindowViewModel.ActionsBounds: the visible window bounds (position minus frame margins) in overlay coordinates, refreshed in the same cursor handler that decides whether the bar is shown.ActionsBoundsinstead ofComputedBounds. The focus/preview rectangles still use the cell.Verification
dotnet build FancyWM.GUI(Debug) — 0 errors.Risks
ActionsBoundsis only refreshed on cursor movement, so it holds a stale value while the bar is hidden. It is refreshed before the bar can be revealed.🤖 Generated with Claude Code