Skip to content

Hide window-link graphs while Overview runs - #355

Merged
epeicher merged 1 commit into
trunkfrom
window-links-hide-in-overview
Jul 15, 2026
Merged

Hide window-link graphs while Overview runs#355
epeicher merged 1 commit into
trunkfrom
window-links-hide-in-overview

Conversation

@epeicher

@epeicher epeicher commented Jul 15, 2026

Copy link
Copy Markdown
Collaborator

Follow-up to #354 (which hid the graphs in split view) and #337 (window links).

What it does

The window-link splines now hide while Overview (Exposé) is active — fading out as the thumbnails animate in, and fading back in once the exit animation has settled. Previously the arrows stayed on screen anchored to the windows' pre-overview positions, floating in space and pointing at nothing.

CleanShot 2026-07-15 at 10 56 58@2x

Rationale

Overview lays windows out as scaled transform: translate(...) scale(...) thumbnails, but the link frame geometry reads offsetLeft / offsetWidth — metrics CSS transforms don't touch. During the mode every tie kept pointing at where the windows used to be. Re-anchoring the arrows onto the live thumbnails would require per-frame transform reads through the 280 ms enter/exit animations; hiding matches the split-view precedent (#354): modes where windows aren't at their real desk positions draw no ties.

Implementation

One new flag in the render host, folded into the existing visibility policy:

  • overviewActive flips on at OVERVIEW_ENTERING — not ENTERED — so the layer's 0.25 s opacity fade runs alongside the thumbnail animation.
  • It flips off at OVERVIEW_EXITED, which fires only after the exit animation settles (280 ms), so the re-shown ties anchor on real geometry, never mid-flight windows. Exit also emits a fresh frame: selecting a thumbnail maximizes it while the layer is hidden.
  • applyVisibility() gains a ! overviewActive condition, so mid-overview recomputes (settings changes, focus churn, membership changes) can't resurface the layer while the mode runs.

Documented next to the windowLinkVisibility setting in docs/javascript-reference.md: the layers hide during Overview whatever the visibility setting.

Testing instructions

npm run test:js -- window-links-render-host

The new regression test fails on trunk and passes here.

Manual (two related windows — e.g. a post editor and one of its comments):

  1. With both windows floating, confirm the spline draws between them.
  2. Enter Overview (the dock/admin-bar Overview button). No arrows should be visible over the thumbnail grid.
  3. Exit Overview (Escape, or pick a window). The spline reappears, anchored on the windows' real positions — including when the picked window maximizes.
Open WordPress Playground Preview

Overview lays windows out as scaled CSS-transform thumbnails, but the
link frame geometry reads offset* metrics, which transforms don't
touch — so the ties kept pointing at the pre-overview window
positions. Hide the link layers for the mode's whole lifetime: fade
out on OVERVIEW_ENTERING alongside the thumbnail animation, fade back
in on OVERVIEW_EXITED once the windows have settled home.

Follow-up to #354.
@epeicher
epeicher merged commit a584d67 into trunk Jul 15, 2026
5 checks passed
@epeicher
epeicher deleted the window-links-hide-in-overview branch July 15, 2026 08:58
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