Skip to content

Minimal mode + title bar drag: collapse exit paths, fix gutter drag#2299

Merged
ten9876 merged 1 commit intomainfrom
auto/Minimal-mode--title-bar-drag-collapse-exit-paths-f
May 3, 2026
Merged

Minimal mode + title bar drag: collapse exit paths, fix gutter drag#2299
ten9876 merged 1 commit intomainfrom
auto/Minimal-mode--title-bar-drag-collapse-exit-paths-f

Conversation

@ten9876
Copy link
Copy Markdown
Owner

@ten9876 ten9876 commented May 3, 2026

  • Spectrum overlay menu: remove DSP sub-panel
  • Minimal mode + title bar drag: collapse exit paths, fix gutter drag

- Spectrum overlay menu: remove DSP sub-panel
- Minimal mode + title bar drag: collapse exit paths, fix gutter drag
@ten9876 ten9876 requested a review from jensenpat as a code owner May 3, 2026 00:27
@ten9876 ten9876 enabled auto-merge (squash) May 3, 2026 00:27
@ten9876 ten9876 merged commit 0270b78 into main May 3, 2026
4 checks passed
@ten9876 ten9876 deleted the auto/Minimal-mode--title-bar-drag-collapse-exit-paths-f branch May 3, 2026 00:42
ten9876 pushed a commit that referenced this pull request May 5, 2026
…#2367)

On macOS, AppKit delivers Qt::WindowStateChange asynchronously, so the
Maximized/FullScreen bit could survive setFixedWidth(260) inside
toggleMinimalMode(true). The deferred WindowStateChange then arrived
with m_minimalMode==true and the Maximized bit still set, causing
changeEvent to schedule a spurious toggleMinimalMode(false) — the
window collapsed for a frame and snapped back to the full-size geometry
restored from FullModeGeometry.

- toggleMinimalMode(true): drop maximized/fullscreen state via
  showNormal() before forcing the applet width. FullModeGeometry is
  saved first, so exit can still restore the user's pre-minimal window.
- Add m_enteringMinimalMode guard symmetric to m_exitingMinimalMode and
  honor it in changeEvent. Cleared via singleShot(0) so any AppKit-
  deferred WindowStateChange queued during the enter path drains through
  the early-return before the guard drops.

Both behaviors are no-ops on Windows/Linux where setFixedWidth on a
maximized top-level synchronously clears the state bit.

Regressed in #2299, which collapsed minimal-exit paths into the single
changeEvent branch and exposed the missing entering-side guard.

Co-authored-by: AetherClaude <[email protected]>
Co-authored-by: Claude Opus 4.7 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant