Hide window-link graphs while Overview runs - #355
Merged
Conversation
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.
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.
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.
Rationale
Overview lays windows out as scaled
transform: translate(...) scale(...)thumbnails, but the link frame geometry readsoffsetLeft/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:
overviewActiveflips on atOVERVIEW_ENTERING— notENTERED— so the layer's 0.25 s opacity fade runs alongside the thumbnail animation.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! overviewActivecondition, so mid-overview recomputes (settings changes, focus churn, membership changes) can't resurface the layer while the mode runs.Documented next to the
windowLinkVisibilitysetting indocs/javascript-reference.md: the layers hide during Overview whatever the visibility setting.Testing instructions
The new regression test fails on trunk and passes here.
Manual (two related windows — e.g. a post editor and one of its comments):