Commit dcfe439
committed
Drag&drop: Seed Move op at drag start to remove same-volume "+" flicker
Both `performSingleFileDrag` and `performSelectionDrag` now push `'move'` via `setSelfDragResolvedOperation` right before the native `startDrag`. So the very first `draggingEntered:` already returns Move and the OS draws no "+" badge for the same-volume case (the default and most common path).
For cross-volume drags the first `handleDragOver` flips the op to Copy, so the "+" appears ~5–30ms later. Picked this direction over the reverse because a badge appearing late feels intentional, while a badge appearing-then-disappearing reads as a glitch.
Updated the gotcha in `drag/CLAUDE.md` to describe the new behavior.1 parent 7c8a19d commit dcfe439
2 files changed
Lines changed: 24 additions & 8 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
169 | 169 | | |
170 | 170 | | |
171 | 171 | | |
172 | | - | |
173 | | - | |
174 | | - | |
175 | | - | |
176 | | - | |
177 | | - | |
178 | | - | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
179 | 179 | | |
180 | 180 | | |
181 | 181 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
22 | 28 | | |
23 | 29 | | |
24 | 30 | | |
| |||
365 | 371 | | |
366 | 372 | | |
367 | 373 | | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
368 | 381 | | |
369 | 382 | | |
370 | 383 | | |
| |||
386 | 399 | | |
387 | 400 | | |
388 | 401 | | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
389 | 405 | | |
390 | 406 | | |
391 | 407 | | |
| |||
0 commit comments