microsoft / microsoft/PowerToys

Grab and Move + WSLg windows

Open
#48,304 1 comment 0 reactions 0 assignees View on GitHub
Issue-Bug Needs-Triage Product-Grab And Move
Dominant language
C
Stars
139k
Forks
8.6k
PR merge metrics
PR metrics pending

Description

### Microsoft PowerToys version

0.99.1

### Installation method

PowerToys auto-update

### Area(s) with issue?

Grab And Move

### Steps to reproduce

When using Grab and Move to move a WSLg window, the rendering of the window moves but the mapping to the Linux display server ... also moves an equal amount?

e.g.

Here is a WSLg Window (from Eclipse IDE). I have clicked between `s` and `p` and the text caret is there

Image

If I grab the window at the same place and pull it to the right so that my point ends up just after `e`
If I pull it four characters to the left, the caret ends up to the left of `w` when clicking between `s` and `p`

Now clicking between `s` and `p` places the caret between `c` and `e` or even after `e` depending on how far I drag.

or, click between w and o and the caret is between `s` and `p` again

Image

The same applies to vertical movement.

Subsequently dragging the window by it's taskbar (if you can find it...) fixes the disparity.

### ✔️ Expected Behavior

WSLg windows moved with Grab and Move continue to receive clicks as normal.

### ❌ Actual Behavior

Clicks are misdirected to a point (2x ?) the drag vector away from the origin.

### Upload Bug Report ZIP-file

_No response_

### Additional Information

_No response_

### Other Software

_No response_

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the issue with Grab and Move on a WSLg window, using the reported caret-position mismatch after horizontal and vertical moves. Trace the window movement and click-coordinate handling, then verify that moved WSLg windows still map clicks correctly without needing a taskbar drag.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
desktop
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.