On a multi-monitor setup (observed on a 3-display arrangement), carrying a tab or pane as the wisp works, but when the drag crosses a monitor boundary the wisp and the mouse cursor separate in space. The drag still functions and the drop lands correctly; the wisp just no longer rides under the pointer, which reads as broken.
Suspected area
The wisp window's position is computed from the cursor each frame. The mapping likely assumes a single monitor's coordinate origin and scale factor, so on a display with a different origin offset or DPI the cursor-to-window math skews. Likely places to look: physical vs logical position handling and per-monitor scale factor in the drag-move path.
Repro
- Two or more displays, ideally mixed DPI.
- Start a drag (tear a tab off, or press and hold a pane until the ring completes).
- Carry the wisp across a monitor boundary.
- The wisp offsets from the cursor; the offset grows or changes as you keep moving on the second display.
Confirmed on macOS. Status on Linux/multi-head unknown.
On a multi-monitor setup (observed on a 3-display arrangement), carrying a tab or pane as the wisp works, but when the drag crosses a monitor boundary the wisp and the mouse cursor separate in space. The drag still functions and the drop lands correctly; the wisp just no longer rides under the pointer, which reads as broken.
Suspected area
The wisp window's position is computed from the cursor each frame. The mapping likely assumes a single monitor's coordinate origin and scale factor, so on a display with a different origin offset or DPI the cursor-to-window math skews. Likely places to look: physical vs logical position handling and per-monitor scale factor in the drag-move path.
Repro
Confirmed on macOS. Status on Linux/multi-head unknown.