Skip to content

xwayland: add drag'n'drop support

Simon Ser requested to merge github/fork/emersion/xwayland-dnd into master
  • Add outgoing drag'n'drop support

  • Fixes incr transfers (for big files)

  • Refactor selection code

  • Wayland → Xwayland

    • Create DND window
    • Send DND_ENTER
    • Send DND_POSITION
    • Send DND_DROP
    • Receive DND_STATUS
    • Send DND_LEAVE
    • Receive DND_FINISHED
    • Redesign wlr_data_source
    • Fix Firefox refusing text
    • Fix Chromium crashing in non-incr transfer: support multiple transfers at the same time
    • Only allow one transfer at a time
    • Cleanup wlr_xwm_selection_transfer when transfer is finished
    • Fix incr transfers
      • Big picture from epiphany to gimp
      • Big picture from chromium to lowriter
    • Make sure I didn't broke clipboard stuff

Will be done in another PR:

  • Xwayland → Wayland
    • Figure out how the client knows about the Wayland window position: just draw a window that spans the whole screen
    • Figure out how to map X11 protocol to Wayland protocol
    • Receive DND_ENTER
    • Receive DND_POSITION
    • Receive DND_DROP
    • Send DND_STATUS
    • Receive DND_LEAVE
    • Send DND_FINISHED

Test clients:

  • Firefox
  • GTK+ (nice visual feedback)
  • Chromium
  • Gimp (has visual feedback too)

Fixes #295

Merge request reports

Loading