I just got three short video clips onto my desktop.
If I open mpv (either by opening it stand-alone and then dragging one of the video files into it, or by double-clicking one of the video files), the first video plays. But then if I drag and drop one of the other ones into the mpv window which displays the first video, nothing happens. It ignores the action.
But if I create a folder on the desktop, move the very same video clips into it, and then repeat the exact same procedure, it plays all three videos. It does not ignore my drag and drop events when it’s an actual Dolphin view showing the folder, instead of straight from the KDE Plasma desktop.
In both scenarios, the cursor gets a little “+” marker on it when the mouse cursor is above the mpv window and I’m about to release the mouse button to “drop” it. Yet it only does something when the videos are in the folder and not in the “root” of the desktop.
How is this possible? How can there be different behaviour like this?
Actually it might be a bug in Plasma or KIO; would need investigation.
The reason for this is that by default, files and folder on the desktop are represented in a slightly different way than usual, in order to change how .desktop files are interpreted when on the desktop (chiefly, to make them prettier, for people accustomed to the Windows approach of sticking shortcuts to apps all over their desktops). A quirk of this is that when you drag something on the desktop, its actual URI is something like desktop:/foo.avi rather than the $HOME/Desktop.foo.avi that you would expect. This URI gets translated by… something… into the normal URI that can be consumed by apps. I can’t remember off the top of my head what that something is.
So it might be that that something is broken right now. Or it might be that MPV has special code to interpret drags from their URI before the translation happens, and so it gets desktop:/foo.avi which of course is not really an actual URL of a network stream anywhere, so then it gives up. Or it could be some other weird interaction between components that individually work fine, but fail when put together (i.e. it’s an “unbounded problem space” challenge)
[vo/gpu/wayland] Received a new DND offer. Releasing the previous offer.
[vo/gpu/wayland] Given DND offer with mime type text/uri-list
[vo/gpu/wayland] Accepting DND offer with mime type text/uri-list
[vo/gpu/wayland] DND action is DND_REPLACE
Interestingly all select text/uri-list but behave differently.
Is there a way to intercept the raw contents of the DnD type somehow?