aboutsummaryrefslogtreecommitdiff
path: root/include/wlr
diff options
context:
space:
mode:
Diffstat (limited to 'include/wlr')
-rw-r--r--include/wlr/types/wlr_seat.h2
-rw-r--r--include/wlr/xwayland.h5
-rw-r--r--include/wlr/xwm.h1
3 files changed, 7 insertions, 1 deletions
diff --git a/include/wlr/types/wlr_seat.h b/include/wlr/types/wlr_seat.h
index f7dea52f..e049d4c7 100644
--- a/include/wlr/types/wlr_seat.h
+++ b/include/wlr/types/wlr_seat.h
@@ -207,6 +207,8 @@ struct wlr_seat {
struct wl_signal selection;
struct wl_signal primary_selection;
+
+ struct wl_signal destroy;
} events;
void *data;
diff --git a/include/wlr/xwayland.h b/include/wlr/xwayland.h
index 8d71a7ab..b6671de1 100644
--- a/include/wlr/xwayland.h
+++ b/include/wlr/xwayland.h
@@ -22,7 +22,6 @@ struct wlr_xwayland {
struct wl_client *client;
struct wl_display *wl_display;
struct wlr_compositor *compositor;
- struct wlr_seat *seat;
time_t server_start;
struct wl_event_source *sigusr1_source;
@@ -31,6 +30,10 @@ struct wlr_xwayland {
struct wlr_xwm *xwm;
struct wlr_xwayland_cursor *cursor;
+ /* Anything above seat is reset on Xwayland restart, rest is conserved */
+ struct wlr_seat *seat;
+ struct wl_listener seat_destroy;
+
struct {
struct wl_signal ready;
struct wl_signal new_surface;
diff --git a/include/wlr/xwm.h b/include/wlr/xwm.h
index cbc2f132..35c43b18 100644
--- a/include/wlr/xwm.h
+++ b/include/wlr/xwm.h
@@ -108,6 +108,7 @@ void xwm_set_cursor(struct wlr_xwm *xwm, const uint8_t *pixels, uint32_t stride,
int xwm_handle_selection_event(struct wlr_xwm *xwm, xcb_generic_event_t *event);
void xwm_selection_init(struct wlr_xwm *xwm);
+void xwm_selection_finish(struct wlr_xwm *xwm);
void xwm_set_seat(struct wlr_xwm *xwm, struct wlr_seat *seat);