aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-03-28 15:33:23 -0400
committeremersion <contact@emersion.fr>2018-03-28 15:33:23 -0400
commit2a34b154e683bb962aed354c1d980a7c10c66824 (patch)
tree8382ae43ef8acaa74544be610571e983d9c13fde /include
parent73394deb761232ff6a5a12400fe9e9fc5ab51114 (diff)
xwayland: send DND_DROP
Diffstat (limited to 'include')
-rw-r--r--include/wlr/types/wlr_data_device.h6
-rw-r--r--include/xwayland/xwm.h3
2 files changed, 9 insertions, 0 deletions
diff --git a/include/wlr/types/wlr_data_device.h b/include/wlr/types/wlr_data_device.h
index cd266795..6733980a 100644
--- a/include/wlr/types/wlr_data_device.h
+++ b/include/wlr/types/wlr_data_device.h
@@ -108,6 +108,7 @@ struct wlr_drag {
struct {
struct wl_signal focus;
struct wl_signal motion;
+ struct wl_signal drop;
struct wl_signal destroy;
} events;
};
@@ -118,6 +119,11 @@ struct wlr_drag_motion_event {
double sx, sy;
};
+struct wlr_drag_drop_event {
+ struct wlr_drag *drag;
+ uint32_t time;
+};
+
/**
* Create a wl data device manager global for this display.
*/
diff --git a/include/xwayland/xwm.h b/include/xwayland/xwm.h
index d4795d3f..b6b26227 100644
--- a/include/xwayland/xwm.h
+++ b/include/xwayland/xwm.h
@@ -137,6 +137,7 @@ struct wlr_xwm {
struct wl_listener seat_start_drag;
struct wl_listener seat_drag_focus;
struct wl_listener seat_drag_motion;
+ struct wl_listener seat_drag_drop;
struct wl_listener seat_drag_destroy;
};
@@ -148,6 +149,8 @@ void xwm_set_cursor(struct wlr_xwm *xwm, const uint8_t *pixels, uint32_t stride,
uint32_t width, uint32_t height, int32_t hotspot_x, int32_t hotspot_y);
int xwm_handle_selection_event(struct wlr_xwm *xwm, xcb_generic_event_t *event);
+int xwm_handle_selection_client_message(struct wlr_xwm *xwm,
+ xcb_client_message_event_t *ev) ;
void xwm_selection_init(struct wlr_xwm *xwm);
void xwm_selection_finish(struct wlr_xwm *xwm);