Conversation
…windows Originally by @chibondking — popped-out panadapter and applet windows use Qt::FramelessWindowHint which removes OS-provided resize borders. Previously a single QSizeGrip in the bottom-right corner; unreliable on Wayland and only one corner. FramelessResizer is a small QObject event filter installed on the QWindow (native handle) — sees mouse events at the platform level before they're dispatched to the widget hierarchy. Edge proximity within 6 px → cursor change + startSystemResize on left-click. Crucially, never touches the widget event stream, so nested controls (knobs, drag tiles, chain widget) respond normally even when near the window edge. Resolves the regression that caused the v1 implementation (#2008) to be reverted. Two cursor-leak guards added on top of the cherry-pick: - Destructor calls leaveEdgeZone() so windows destroyed while at an edge don't leak the override cursor onto the desktop. - The existing leaveEdgeZone() inside the eventFilter Phase 2 early return (when the window flips to decorated mode at runtime via #2059's setFramelessMode) ensures the override is restored when the resizer becomes a no-op. Closes #2058. Co-Authored-By: CJ Johnson <[email protected]> Co-Authored-By: Claude Opus 4.7 (1M context) <[email protected]>
This was referenced Apr 27, 2026
2 tasks
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.
Originally by @chibondking — popped-out panadapter and applet windows
use Qt::FramelessWindowHint which removes OS-provided resize borders.
Previously a single QSizeGrip in the bottom-right corner; unreliable
on Wayland and only one corner.
FramelessResizer is a small QObject event filter installed on the
QWindow (native handle) — sees mouse events at the platform level
before they're dispatched to the widget hierarchy. Edge proximity
within 6 px → cursor change + startSystemResize on left-click.
Crucially, never touches the widget event stream, so nested controls
(knobs, drag tiles, chain widget) respond normally even when near
the window edge. Resolves the regression that caused the v1
implementation (#2008) to be reverted.
Two cursor-leak guards added on top of the cherry-pick:
edge don't leak the override cursor onto the desktop.
return (when the window flips to decorated mode at runtime via
[fix] Frameless toggle not propagating to open floating windows #2059's setFramelessMode) ensures the override is restored when
the resizer becomes a no-op.
Closes #2058.
Co-Authored-By: CJ Johnson [email protected]
Co-Authored-By: Claude Opus 4.7 (1M context) [email protected]