Fix ColorSelector popup positioning to prevent window clipping #2832
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.
The ColorSelector popup in the Graph Editor toolbar was getting clipped when positioned near the left edge of the window, making part of the color palette inaccessible to users.
Problem
The original positioning logic always placed the popup to the left of the button using hardcoded coordinates:
This caused the popup to extend beyond the window boundary when the ColorSelector button was positioned near the left edge, as shown in the issue screenshot.
Solution
Implemented smart positioning logic that:
mapToItem()
Key Features
Visual Impact
Before: Popup clipped on left side, hiding color options from users
After: Popup automatically repositions to stay within window bounds, ensuring full accessibility
The fix maintains the original user experience in normal cases while eliminating the clipping issue that affected users with smaller windows or specific toolbar positioning.
Fixes #2814.
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.