Background
Dragging and dropping on a terminal pane has two use cases:
- Drop a file or image to paste its path into the terminal.
- Drag a pane tab to rearrange the pane layout.
In the VS Code extension only (2) works — file/image drop into a webview is blocked by VS Code itself, which is a platform limitation we can't change.
In the standalone Tauri app we previously had only (1): file/image drop pasted paths, but pane drag did not work. This was because Tauri 2's dragDropEnabled: true (the default) captures OS drag-drop natively, and on Windows that blocks all HTML5 drag events — including internal Dockview pane reorder. See tauri-apps/tauri#8581 and tauri-apps/tauri#14373.
We've now set dragDropEnabled: false, which restores pane drag (case 2). The cost is that case (1) is currently broken in standalone too: Chromium's webview doesn't expose File.path, so a vanilla HTML5 drop can't recover the path string without OS-level cooperation.
What we want
Re-enable file/image drop-to-paste in the standalone without re-breaking pane drag.
Blocker
Depends on upstream Tauri offering a way to receive file paths from native OS drops while still letting HTML5 drag events flow to the webview. Tracked upstream at tauri-apps/tauri#14373. Once that lands (or a usable plugin/escape hatch appears) we can flip dragDropEnabled back on (or adopt the new API) and re-activate the stubs.
Stubs left in the codebase
Wiring is intentionally left in place so re-enabling is a small change:
standalone/src-tauri/tauri.conf.json — dragDropEnabled: false is the kill switch.
standalone/src-tauri/src/lib.rs — the WindowEvent::DragDrop handler that emits mouseterm://files-dropped.
standalone/src/tauri-adapter.ts — the mouseterm://files-dropped listener and onFilesDropped plumbing.
lib/src/lib/platform/types.ts — the optional onFilesDropped interface method.
lib/src/components/wall/use-session-persistence.ts — the platform.onFilesDropped?.(…) subscription that calls pasteFilePaths.
Note on VS Code
Doesn't apply to the VS Code extension — file drop into VS Code webviews is outside our control.
Background
Dragging and dropping on a terminal pane has two use cases:
In the VS Code extension only (2) works — file/image drop into a webview is blocked by VS Code itself, which is a platform limitation we can't change.
In the standalone Tauri app we previously had only (1): file/image drop pasted paths, but pane drag did not work. This was because Tauri 2's
dragDropEnabled: true(the default) captures OS drag-drop natively, and on Windows that blocks all HTML5 drag events — including internal Dockview pane reorder. See tauri-apps/tauri#8581 and tauri-apps/tauri#14373.We've now set
dragDropEnabled: false, which restores pane drag (case 2). The cost is that case (1) is currently broken in standalone too: Chromium's webview doesn't exposeFile.path, so a vanilla HTML5dropcan't recover the path string without OS-level cooperation.What we want
Re-enable file/image drop-to-paste in the standalone without re-breaking pane drag.
Blocker
Depends on upstream Tauri offering a way to receive file paths from native OS drops while still letting HTML5 drag events flow to the webview. Tracked upstream at tauri-apps/tauri#14373. Once that lands (or a usable plugin/escape hatch appears) we can flip
dragDropEnabledback on (or adopt the new API) and re-activate the stubs.Stubs left in the codebase
Wiring is intentionally left in place so re-enabling is a small change:
standalone/src-tauri/tauri.conf.json—dragDropEnabled: falseis the kill switch.standalone/src-tauri/src/lib.rs— theWindowEvent::DragDrophandler that emitsmouseterm://files-dropped.standalone/src/tauri-adapter.ts— themouseterm://files-droppedlistener andonFilesDroppedplumbing.lib/src/lib/platform/types.ts— the optionalonFilesDroppedinterface method.lib/src/components/wall/use-session-persistence.ts— theplatform.onFilesDropped?.(…)subscription that callspasteFilePaths.Note on VS Code
Doesn't apply to the VS Code extension — file drop into VS Code webviews is outside our control.