summaryrefslogtreecommitdiff
path: root/src/termhooks.h
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-04-06 20:29:30 +0800
committerPo Lu <luangruo@yahoo.com>2022-04-06 20:30:24 +0800
commitc0bb11432ee07228d8819cc98c6ce29ccd42ae97 (patch)
tree38ea48626b74e8fd4fd2826397b7dff1b212b39a /src/termhooks.h
parent406da54bc63b1099b6e51b3d3e025712a16a1912 (diff)
Move some X11 drag and drop processing to Lisp
* lisp/term/x-win.el: Set unsupported drop function. * lisp/x-dnd.el (x-dnd-handle-unsupported-drop): New function. * src/keyboard.c (kbd_buffer_get_event): Handle UNSUPPORTED_DROP_EVENT. * src/termhooks.h (enum event_kind): New event `UNSUPPORTED_DROP_EVENT'. * src/xterm.c (x_dnd_send_unsupported_drop): Send those events instead. (x_dnd_do_unsupported_drop): Move actual unsupported drop handling here. (syms_of_xterm): New variable `x-dnd-unsupported-drop-function'. * src/xterm.h: Update prototypes.
Diffstat (limited to 'src/termhooks.h')
-rw-r--r--src/termhooks.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/termhooks.h b/src/termhooks.h
index 93ac9ba0d2e..0f02b56e9ee 100644
--- a/src/termhooks.h
+++ b/src/termhooks.h
@@ -208,6 +208,25 @@ enum event_kind
representation of the dropped items.
.timestamp gives a timestamp (in
milliseconds) for the click. */
+#ifdef HAVE_X_WINDOWS
+ UNSUPPORTED_DROP_EVENT, /* Event sent when the regular C
+ drag-and-drop machinery could not
+ handle a drop to a window.
+
+ .code is the XID of the window that
+ could not be dropped to.
+
+ .arg is a list of the local value of
+ XdndSelection, a list of selection
+ targets, and the intended action to
+ be taken upon drop, and .timestamp
+ gives the timestamp where the drop
+ happened.
+
+ .x and .y give the coordinates of
+ the drop originating from the root
+ window. */
+#endif
USER_SIGNAL_EVENT, /* A user signal.
code is a number identifying it,
index into lispy_user_signals. */