Summary: | Impossible to abort dragging from Dolphin to desktop by pressing ESC on Wayland while cursor is over desktop | ||
---|---|---|---|
Product: | [Plasma] plasmashell | Reporter: | Patrick Silva <bugseforuns> |
Component: | Desktop Containment | Assignee: | Marco Martin <notmart> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | alex765, andrea.ippo, broaden_acid002, claudius.ellsel, ddascalescu+kde, herzenschein, kde-01, kde, kde, magiblot, mauromol, nate, plasma-bugs, postix |
Priority: | NOR | Keywords: | wayland |
Version: | 5.20.90 | ||
Target Milestone: | 1.0 | ||
Platform: | Archlinux | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/plasma/kwin/commit/e00d83670847c19c7f92e13b2bb1ef18ae093964 | Version Fixed In: | 5.25 |
Description
Patrick Silva
2019-03-09 14:50:13 UTC
correcting step 3: 3. press ESC while you are dragging the icon and you are hovering the desktop Operating System: Arch Linux KDE Plasma Version: 5.16.2 KDE Frameworks Version: 5.59.0 Qt Version: 5.13.0 This could be a Kwin bug: https://gitlab.com/kwinft/kwinft/-/issues/45 But I don't know if it has been reported in mainline Kwin. I can consistently reproduce this on current Plasma from master branch. I experience the same. Aborting with ESC works for me when the mouse is inside the dolphin window again. Just not when it is outside. Still seeing this issue with KDE neon 5.21.1. Can confirm. Seems like the desktop needs to handle the escape key too. Theory without looking at code, the panel does not do keyboard focus so we can't escape? Can confirm on latest tumbleweed (KDE 5.23.5 IIRC) esc to cancel works only internally in the client, doesn't between any two arbitrary clients, regardless the toolkit looking on what gnome does, cancel on esc seems to be managed on mutter side, in meta-wayland-data-device.c static gboolean keyboard_drag_grab_key (MetaWaylandKeyboardGrab *grab, const ClutterEvent *event) { if (event->key.keyval == CLUTTER_KEY_Escape) { MetaWaylandDragGrab *drag_grab; drag_grab = wl_container_of (grab, drag_grab, keyboard_grab); meta_wayland_data_source_cancel (drag_grab->drag_data_source); meta_wayland_data_source_set_current_offer (drag_grab->drag_data_source, NULL); meta_dnd_actor_drag_finish (META_DND_ACTOR (drag_grab->feedback_actor), FALSE); drag_grab->feedback_actor = NULL; data_device_end_drag_grab (drag_grab); return TRUE; } return FALSE; } I think we should do it server side as well in kwin A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwayland-server/-/merge_requests/356 A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/2083 Git commit 7c09b4637c9ef9d4e326443a41edd2216de438a4 by Marco Martin. Committed on 03/03/2022 at 09:09. Pushed by mart into branch 'master'. Add a methood to fore cancel any drag in progress This is needed to cancel drags by pressing Escape which is resposibility of the compositor M +17 -9 src/server/seat_interface.cpp M +5 -0 src/server/seat_interface.h M +2 -2 src/server/seat_interface_p.h https://invent.kde.org/plasma/kwayland-server/commit/7c09b4637c9ef9d4e326443a41edd2216de438a4 Git commit e00d83670847c19c7f92e13b2bb1ef18ae093964 by Marco Martin. Committed on 03/03/2022 at 09:54. Pushed by mart into branch 'master'. Force cancel of any drag in progress when Escape is pressed when escape is pressed when dragging between different clients, cancelling any drag is compositor's responsibility M +16 -0 src/input.cpp https://invent.kde.org/plasma/kwin/commit/e00d83670847c19c7f92e13b2bb1ef18ae093964 This bug persists. Drag-and-rop is completed instead of aborted when I press ESC key. And now I can reproduce even on X11. Operating System: KDE neon Unstable Edition KDE Plasma Version: 5.24.80 KDE Frameworks Version: 5.92.0 Qt Version: 5.15.3 Graphics Platform: Wayland Cannot reproduce that with current git master. It could be a separate thing. Could you file a new bug report for it? (In reply to Nate Graham from comment #15) > Cannot reproduce that with current git master. It could be a separate thing. > Could you file a new bug report for it? reported as bug 453981 In my case Esc only cancels the drag and drop operation if pressed after the mouse button has been released: as long as the button is pressed, Esc presses are ignored (I am pressing Esc repeatedly in this screen recording while the little green "+" icon is shown: https://photos.app.goo.gl/iWgFTKRoC6vX6J7F6 |