Skip to content

Input: drag-and-drop (file drop into the window, and drag-out) #22

Description

@codymullins

Problem

Browsers accept file drops (into a file input or the page) and support dragging links/images out. Skyline has no drag-and-drop input. Listed under shell parity in tasks/NS/wp-NS-03-chrome-parity.md.

Current state

  • src/Skyline/Input/InputEvents.cs — only pointer/key/text; no drag events.
  • src/Skyline/IWindowBackend.cs / AppWindow.cs — no DnD seam.

What's needed

  • Drag events (DragEnter/Over/Leave/Drop) with position, offered MIME types, and a drop-data accessor (file URIs + typed bytes). Optionally a drag-out source API.
  • GLFW exposes a basic file-drop callback; richer DnD needs native per-platform handlers (macOS NSDraggingDestination, Win32 IDropTarget, X11 XDND / Wayland data-device).
  • Optionally gate drops through the interaction tier's Transfer capability.

Acceptance criteria

  • A file dropped on the window surfaces its path(s) and MIME types to a consumer. Verified on at least one platform.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:inputInput events (pointer, keyboard, text)area:interactionSkyline.Interaction tierenhancementNew feature or requestplatform:linuxLinux (X11/Wayland) backendplatform:macosmacOS / AppKit backendplatform:windowsWindows backendpriority:futurePolish / advanced; can waitstarling-supportWork required for Skyline to host the Starling browser shell

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions