Tracking issue for the drop/DnD gaps that are upstream iced/winit limitations (plan 015 W4). Discipline pinned in plan 013/015: track and document — no in-process workarounds, no upstream engagement.
The four gaps:
- No drop coordinates. winit surfaces file drops only as
window::Event::FileDropped(path) with no cursor position (crates/roost-iced/src/main.rs maps it 1:1; a unit test pins the coordinate-free shape). Exact drop hit-testing is impossible in-process; roost targets the active terminal when no palette/editor owns input (native_file_drop_origin, crates/roost-iced/src/app/interactions.rs) — that stays.
- No text/URI-list drop events. winit has no raw-text or URI-list drop event at all, so text drops cannot be received. (Adjacent, same root: clipboard
text/uri-list is also unreachable through the string-only/image-only clipboard stacks, so a file-manager image copy that sets only text/uri-list pastes under GTK but not under iced — plan 015 C6 documented divergence.)
- No Wayland DnD. The iced/winit stack delivers no file-drop events under Wayland — native Wayland DnD is absent entirely.
- Wayland clipboard seat serial. Clipboard writes need a seat serial the stack does not thread; the iced clipboard e2e tier is skipped under Wayland (
Makefile e2e-iced/e2e-iced-ci gate on WAYLAND_DISPLAY; .github/workflows/ci.yml documents the weston headless seat limitation).
Related but distinct: #101 tracks the GTK-side Wayland cross-process clipboard issue; #282 (closed) was drop-path content filtering.
Exit condition: an iced/winit release that delivers any of these becomes its own adoption slice; until then this issue is documentation.
Tracking issue for the drop/DnD gaps that are upstream iced/winit limitations (plan 015 W4). Discipline pinned in plan 013/015: track and document — no in-process workarounds, no upstream engagement.
The four gaps:
window::Event::FileDropped(path)with no cursor position (crates/roost-iced/src/main.rsmaps it 1:1; a unit test pins the coordinate-free shape). Exact drop hit-testing is impossible in-process; roost targets the active terminal when no palette/editor owns input (native_file_drop_origin,crates/roost-iced/src/app/interactions.rs) — that stays.text/uri-listis also unreachable through the string-only/image-only clipboard stacks, so a file-manager image copy that sets onlytext/uri-listpastes under GTK but not under iced — plan 015 C6 documented divergence.)Makefilee2e-iced/e2e-iced-cigate onWAYLAND_DISPLAY;.github/workflows/ci.ymldocuments the weston headless seat limitation).Related but distinct: #101 tracks the GTK-side Wayland cross-process clipboard issue; #282 (closed) was drop-path content filtering.
Exit condition: an iced/winit release that delivers any of these becomes its own adoption slice; until then this issue is documentation.