Skip to content

Inspect toggle shifts the zoomed view by about one desktop pixel #445

Description

@Maxaubert

Toggling Inspect at high zoom shifts the view sideways and back (field report 2026-10-11). Measured at 10.5x: 11 screen px in x, 0 in y, at three pointer positions; none at 1.8x. Wind writes the same transform in both states (txTrace): the shift is DWM centring sitting 1 desktop px off the pointer, which Inspect (Wind's own write) does not. Suspect: DWM learns its cursor offset during Wind's +1 px zoom-in nudge.

Activity

  1. Maxaubert commented on Oct 10, 2026

    @Maxaubert
    OwnerAuthor

    Measured 2026-10-11 (10.5x, still pointer, F9 toggles, 3840x2160):

    • Wind writes the same transform in both states (txTrace). Inspect always shows Wind's centre; free mode shows DWM centring, which sits 1 desktop px off in x (±11 screen px, either sign), 0 in y. None at 1.8x.
    • The offset comes from Wind's moving pixel-and-back nudges. With every zoomed nudge removed, DWM matches Wind's centre exactly (0 shift, 9/9 runs). With any moving nudge kept (all, split across ticks, or only the per-write one), the 1 px offset is back.
    • A zero-distance SendInput move is dropped by Windows (no event), so it is the same as no nudge.
    • Without nudges the magnified pointer still shows during and after a keyboard zoom (55/55 ramp frames), but panning shakes the pointer up to 30 px (167/596 frames vs 0). So the per-write nudge has to stay.

    Open: no clean fix found yet; options in the session.

  2. Maxaubert commented on Oct 11, 2026

    @Maxaubert
    OwnerAuthor

    Closing as is (2026-10-11). Entering Inspect no longer shifts the view (#446). Leaving Inspect can still shift the view by DWM's 1 desktop px offset until the first hand movement; the measurements and the remaining idea (hide the pointer without swapping cursor images) are in the comments above.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions