Skip to content

Replace low-level mouse drag hook - #1413

Open
xoascf wants to merge 5 commits into
dremin:masterfrom
xoascf:drop-low-level-mouse-thing
Open

Replace low-level mouse drag hook#1413
xoascf wants to merge 5 commits into
dremin:masterfrom
xoascf:drop-low-level-mouse-thing

Conversation

@xoascf

@xoascf xoascf commented Jul 4, 2026

Copy link
Copy Markdown
Collaborator

Handle taskbar repositioning and resizing through WPF mouse events instead of the low-level mouse hook.
The taskbar now captures mouse input directly, updates edge changes and resize steps during drag, and removes the obsolete hook utility.
The system menu tries to replicate the XP behavior to move and resize the taskbar as well.
Also you can now press Esc to cancel a system move/size.

This comment was marked as outdated.

@xoascf
xoascf force-pushed the drop-low-level-mouse-thing branch from 0ec569e to b0ed714 Compare July 31, 2026 01:57
xoascf added 2 commits August 13, 2026 20:15
Handle taskbar repositioning and resizing through WPF mouse events instead of the low-level mouse hook. The taskbar now captures mouse input directly, updates edge changes and resize steps during drag, and removes the obsolete hook utility.
@xoascf
xoascf force-pushed the drop-low-level-mouse-thing branch from b0ed714 to c57e43d Compare August 14, 2026 01:15
@xoascf
xoascf requested a lite review from Copilot August 14, 2026 01:15

This comment was marked as outdated.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 4 out of 4 changed files in this pull request and generated no new comments.

Suppressed comments (1)

RetroBar/Taskbar.xaml.cs:300

  • Checking only the sign of GetAsyncKeyState detects whether Escape is still physically held, not whether Escape ended the native move/size loop. If the key is released before WM_EXITSIZEMOVE is processed, this takes the commit path and leaves the dragged edge/size in settings instead of restoring the saved values. Record an Escape key event while the system move/size loop is active and consume that latched cancellation state here.
                if (NativeMethods.GetAsyncKeyState((int)System.Windows.Forms.Keys.Escape) < 0)

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants