summaryrefslogtreecommitdiff
path: root/src/xterm.h
diff options
context:
space:
mode:
authorPo Lu <luangruo@yahoo.com>2022-06-09 13:11:08 +0800
committerPo Lu <luangruo@yahoo.com>2022-06-09 13:11:08 +0800
commit2f31dbeadff0abc38ded5dd072df1ec179c49945 (patch)
tree5e3a0da965fa681348bb48d045d9d94f8edbaea0 /src/xterm.h
parent7e41b4aa231ed094613fe0ea12e7ec37a396240f (diff)
downloademacs-2f31dbeadff0abc38ded5dd072df1ec179c49945.tar.gz
Also show mouse DND tooltip contents during interprogram drag-and-drop
* doc/lispref/frames.texi (Drag and Drop): Document new parameter to `x-begin-drag'. * lisp/mouse.el (mouse-drag-and-drop-region): Don't hide tooltip when initiating interprogram drag-and-drop. * lisp/term/haiku-win.el (x-begin-drag): * lisp/term/ns-win.el (x-begin-drag): Add stubs for new parameter. * src/xfns.c (Fx_begin_drag): New parameter `follow-tooltip'. (Fx_show_tip, syms_of_xfns): Add records of the last dx and dy given to `x-show-tip'. * src/xterm.c (x_clear_dnd_monitors): New function. (x_dnd_begin_drag_and_drop): Save monitor attributes list if appropriate. (x_dnd_compute_tip_xy, x_dnd_update_tooltip_position): New function. (x_dnd_update_state, handle_one_xevent): Update tooltip position during DND mouse movement. (syms_of_xterm): Update staticpros. * src/xterm.h: Update prototypes.
Diffstat (limited to 'src/xterm.h')
-rw-r--r--src/xterm.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/xterm.h b/src/xterm.h
index 7e91e28ed13..25d145c6c0a 100644
--- a/src/xterm.h
+++ b/src/xterm.h
@@ -736,6 +736,9 @@ extern bool x_display_ok (const char *);
extern void select_visual (struct x_display_info *);
extern Window tip_window;
+extern Lisp_Object tip_dx;
+extern Lisp_Object tip_dy;
+extern Lisp_Object tip_frame;
/* Each X frame object points to its own struct x_output object
in the output_data.x field. The x_output structure contains
@@ -1467,7 +1470,7 @@ extern bool x_detect_pending_selection_requests (void);
extern Lisp_Object x_dnd_begin_drag_and_drop (struct frame *, Time, Atom,
Lisp_Object, Atom *, const char **,
size_t, bool, Atom *, int,
- Lisp_Object);
+ Lisp_Object, bool);
extern void x_dnd_do_unsupported_drop (struct x_display_info *, Lisp_Object,
Lisp_Object, Lisp_Object, Window, int,
int, Time);