]> git.eshelyaron.com Git - emacs.git/commit
Use _NET_CLIENT_LIST_STACKING to optimize drag and drop window discovery
authorPo Lu <luangruo@yahoo.com>
Fri, 25 Mar 2022 03:09:43 +0000 (11:09 +0800)
committerPo Lu <luangruo@yahoo.com>
Fri, 25 Mar 2022 03:09:43 +0000 (11:09 +0800)
commitb4fc5bedb8fa3fbc48731da6fced2ba04efad449
tree0f3be69b519e52ac8d223b048363e0d682e4a449
parent392d66f6f5d9962d0b0f96decbebd9db00cce1ab
Use _NET_CLIENT_LIST_STACKING to optimize drag and drop window discovery

* src/xterm.c (struct x_client_list_window): New struct.
(x_dnd_free_toplevels, x_dnd_compute_toplevels)
(x_dnd_get_target_window_1): New functions.
(x_dnd_get_target_window): Search in the toplevel list if it
exists.
(x_dnd_cleanup_drag_and_drop): Clean up toplevel list.
(x_dnd_begin_drag_and_drop): Compute toplevel list if the
window manager supports it.
(handle_one_xevent): Update the toplevel list if prudent.
src/xterm.c