kiapanahi / kiapanahi/KuriousLabs.WindowsTilingWindowManager
Implement drag-to-swap with a click-through preview overlay
- Dominant language
- C#
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
## Problem / goal
Implement drag-to-swap: dragging a tiled window over another shows a preview of the resulting swap and re-tiles once the drag ends.
## References
- `DESIGN.md` §7 (Input & Focus, Drag-to-swap paragraph) — `EVENT_SYSTEM_MOVESIZESTART`/`END` bracket the drag; a WM-owned click-through highlight window (`WS_EX_LAYERED|WS_EX_TRANSPARENT|WS_EX_NOACTIVATE` + `SetLayeredWindowAttributes`) previews the drop tile; re-tile happens once on MOVESIZEEND via a Defer batch.
- Depends on the WinEvent ingest pump issue (source of MOVESIZESTART/END) and the Placement Executor issue (the Defer batch mechanism reused here).
## Acceptance criteria
- [ ] A drag gesture is bracketed by `EVENT_SYSTEM_MOVESIZESTART`/`END` (consumed from the existing WinEvent ingest pump, not a second hook).
- [ ] A layered, click-through, non-activating overlay window previews the candidate drop tile during the drag.
- [ ] Exactly one re-tile Defer batch is issued on `MOVESIZEEND`, not continuously during the drag.
Contributor guide
Research direction
Start with DESIGN.md §7, then read the existing WinEvent ingest pump and Placement Executor work referenced by the issue. Trace how MOVESIZESTART/END are consumed and how the Defer batch is reused. Done means a click-through preview appears during the drag and exactly one re-tile batch runs on MOVESIZEEND.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- desktop, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100