dragging a tab from the "tab bar" in firefox and dropping it on the desktop when firefox runs in xwayland shows an "small preview window" that gets stuck on the desktop and unless you mouse over the preview it doesnt finish and if you are doing it to slow it seems to cancel the drag and drop. screenshot of the "preview window" https://i.imgur.com/YVNcITM.png STEPS TO REPRODUCE 1. run firefox in xwayland 2. drag a tab and drop it on the desktop. 3. "ghost window" gets stuck, mouse over it fast enough and the new window gets created. SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 5.26.90 KDE Frameworks Version: 5.102.0 Qt Version: 5.15.8 Kernel Version: 6.1.10-arch1-1 (64-bit) Graphics Platform: Wayland Processors: 16 × AMD Ryzen 7 5800H with Radeon Graphics Memory: 30,7 GiB of RAM Graphics Processor: AMD Radeon Graphics Manufacturer: Acer Product Name: Nitro AN515-45
Works for me when Firefox is in native Wayland mode. Does it also work for you?
(In reply to Nate Graham from comment #1) > Works for me when Firefox is in native Wayland mode. Does it also work for > you? yeah it does, only xwayland mode it does this behaviour. however having some weird issues with running it wayland mode because of nvidia and dgpu. so thought id report it atleast, doesnt seem like it should behave like this :p , or is it perhaps some flaw of firefox itself?
i guess its worth mentioning nvidia is a bit flawed regarding xwayland too, https://gitlab.freedesktop.org/xorg/xserver/-/issues/1317 but that should only make it misrender i guess? and not, not finish the drag and drop.
yeah tested on amdgpu laptop, same deal there.
sounds like an xwayland dnd issue
I can reproduce. It's about xwayland getting mouse events. - drag from firefox to the desktop - reproduce the "glitch" - move the mouse over xterm - firefox springs back to life It's still not fully clear where the bug lies between kwin, xwayland, gtk or firefox.
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/3592
Git commit 023fc220a1267876ebb210619672271f8c2130d7 by David Edmundson. Committed on 07/04/2023 at 22:14. Pushed by davidedmundson into branch 'master'. wayland: Update pointer state before ending the drag ending a drag will update focus. Kwin explicitly resets it to whatever is now under the mouse now that the implicit grab has ended. This means no-one sends a pointer up. Clients (xwayland) don't automatically make leave events count as a mouse up, because typically you don't get a leave event whilst we have a grab. Xwayland also can't track the status of the wl_datasource as it didn't use it. This patch shouldn't affect any wayland clients as we don't send a frame event until the focus changes which is after the dnd_finished events. Testing done: - dragged firefox under xwayland tabs out from firefox to the desktop - confirmed a new window appeared M +4 -2 src/wayland/autotests/client/test_drag_drop.cpp M +1 -0 src/wayland/seat_interface.cpp https://invent.kde.org/plasma/kwin/commit/023fc220a1267876ebb210619672271f8c2130d7