probonopd / wayland-x11-compat-protocols

The missing Wayland protocols for features that are available in X11 (but are denied by the official Wayland protocols)
117 stars 3 forks source link

Drag and drop, plus probably separate the list for portals #4

Closed svin24 closed 11 months ago

svin24 commented 11 months ago

Technically Wayland does not support drag and drop between different applications from what I understand. To solve this portals are used KDE has already implemented this with kde frameworks. GNOME technically also does but will not bother updating their archive manager to support it.

It's still technically a bug in Qt https://bugreports.qt.io/plugins/servlet/mobile#issue/QTBUG-91357

Not sure what the state of this bug is in electron.

My the way you might want to consider separating the list into different segments like "ones that are attempted to be solved with portals" and "the rest" or something.

probonopd commented 11 months ago

On Raspberry Pi OS which nowadays ships with a Wayland session, it is not possible to drag-and-drop files e.g., from inside an opened zip file to the file manager or to the desktop. Very annoying.

In general, I think that relying on add-on software like D-Bus, Portals, Pipewire etc. is not a solution because:

probonopd commented 11 months ago

Actually, not so sure whether we should close the issues once the topics are mentioned in README.md or whether we should keep them open until a suitable protocol XML has been written that addresses the issue. Wdyt?

svin24 commented 11 months ago

Well Wayland protocols are versioned so it could be interesting keep track of protocols their updates and what they cover over time.

I know for example that Valve according to gamescope documentation is not exactly pleased with the current implementation of tearing.

https://github.com/ValveSoftware/gamescope/blob/master/protocol%2Fgamescope-swapchain.xml#L71

So a revision of tearing could be more pleasing to them.

svin24 commented 11 months ago

In general, I think that relying on add-on software like D-Bus, Portals, Pipewire etc. is not a solution because:

  • It draws in additional dependencies besides the Wayland compositor itself
  • It assumes certain ways in which some desktop environments work but others don't
  • X11 needs none of these complications

Understandable but it should be clarified that a "half baked solution" at the very least exists.

Maybe the list can even be a a pun. Half-Way-there.

ilya-fedin commented 11 months ago

Drag'n'Drop has nothing to do with portals on Wayland, it works via wl_data_offer. QTBUG-91357 is about passing the files to Flatpak/Snap sandboxes and is independent of X11/Wayland.

probonopd commented 11 months ago

Is via wl_data_offer lacking somehow, or is it not universally used? Asking because drag-and-drop from the archive manager to the file manager doesn't work in Raspberry Pi OS, which is using Wayfire.

I drag files from inside zip files to the outside filesystem all the time. It's an essential feature for me.

ilya-fedin commented 11 months ago

Maybe your archive manager just uses X11 directly for drag'n'drop? E.g. file-roller is known to do that and it seems it's deprecated in favor of nautilus. Ark uses the Qt's drag-n-drop API and works just fine.

ilya-fedin commented 11 months ago

https://gitlab.gnome.org/GNOME/file-roller/-/issues/4

probonopd commented 11 months ago

Reading this makes me sad. The most basic stuff gets broken. The Linux desktop is going backward in time, getting worse. The thinking must be: "Who needs drag-and-drop when we can play with different fractional scaling factors on multi-monitor touchscreen setups with HDR and stuff?"

probonopd commented 11 months ago

Drag'n'Drop has nothing to do with portals on Wayland, it works via wl_data_offer.

This seems to suggest otherwise:

Currently drag a directory to file manager does not work, this is because drag and drop between processes is supported by xdg-desktop-portal, and xdg-desktop-protal does not support directories.

ilya-fedin commented 11 months ago

I suggest to replace 'Linux' with 'GNOME'. I don't feel that while using KDE.

ilya-fedin commented 11 months ago

This seems to suggest otherwise:

They talk about flatpaked Nautilus I believe. I have no problems with Dolphin on KDE.