You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Threaded mode: an event for the start and end of a live resize #63
window-resize and resize-handshake both carry live, but nothing says when a live resize has ended. AppKit's tracking loop calls windowDidResize: once per pointer move, and calls nothing when the pointer stops or lifts.
The renderer needs the end. During a drag it lays out against the content floors it already has. Once the drag is over, it measures once and lays out again (react-x11 src/nodes/window/size.js, _deferContentFloors).
In pump mode it read the end as "the pump ran at all": a pump tick means the tracking loop has let go of the thread.
On a worker there is no such signal. react-x11's threaded mode now treats a 100 ms pause in the ticks as the end. That costs two ways:
a drag that pauses mid-way ends early, which costs one extra measured layout;
the catch-up after the release lands up to 100 ms late.
Proposed (mechanism only)
Emit windowWillStartLiveResize: and windowDidEndLiveResize: as window events, in both modes. For example window-live-resize { windowNumber, handle, phase: 'begin' | 'end' }; the bridge chooses the names.
Optionally, add liveResize to the published window state as well.
With that event, react-x11 replaces its timer with it.
Activity