Skip to content

Enhance WindowPosition Addon with Adaptive Tracking #7847

@tobiu

Description

@tobiu

Refactor src/main/addon/WindowPosition.mjs to support high-frequency, adaptive position tracking. This replaces the legacy mouseout polling with a robust focus/blur strategy, enabling real-time window tracking for the "Infinite Canvas" feature.

Tasks:

  1. Adaptive Loop: Implement startTracking() (on focus) and stopTracking() (on blur) methods.
  2. Loop Logic: In the tracking loop (~16ms), check window.screenX/Y and outerWidth/Height.
  3. Delta Updates: Only send windowPositionChange messages to the App Worker if the values have effectively changed.
  4. Cleanup: Deprecate or refactor the legacy mouseout logic to rely on this new, more reliable strategy.
  5. Configurability: Ensure this behavior is active for all windows (or configurable via Neo.config).

Note: This enhancement is the "Client-Side Reporter" for the multi-window coordinate system.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions