aboutsummaryrefslogtreecommitdiff
path: root/include/wlr/xwayland.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/wlr/xwayland.h')
-rw-r--r--include/wlr/xwayland.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/include/wlr/xwayland.h b/include/wlr/xwayland.h
index 2b9d4e81..43133567 100644
--- a/include/wlr/xwayland.h
+++ b/include/wlr/xwayland.h
@@ -40,17 +40,49 @@ struct wlr_xwayland_surface {
uint16_t width, height;
bool override_redirect;
+ char *title;
+ char *class;
+ char *instance;
+ struct wlr_xwayland_surface *parent;
+ list_t *state; // list of xcb_atom_t
+ pid_t pid;
+
+ xcb_atom_t *window_type;
+ size_t window_type_len;
+
+ xcb_atom_t *protocols;
+ size_t protocols_len;
+
struct {
struct wl_signal destroy;
+
+ struct wl_signal request_configure;
+
+ struct wl_signal set_title;
+ struct wl_signal set_class;
+ struct wl_signal set_parent;
+ struct wl_signal set_state;
+ struct wl_signal set_pid;
+ struct wl_signal set_window_type;
} events;
void *data;
};
+struct wlr_xwayland_surface_configure_event {
+ struct wlr_xwayland_surface *surface;
+ int16_t x, y;
+ uint16_t width, height;
+};
+
void wlr_xwayland_destroy(struct wlr_xwayland *wlr_xwayland);
struct wlr_xwayland *wlr_xwayland_create(struct wl_display *wl_display,
struct wlr_compositor *compositor);
void wlr_xwayland_surface_activate(struct wlr_xwayland *wlr_xwayland,
struct wlr_xwayland_surface *surface);
+void wlr_xwayland_surface_configure(struct wlr_xwayland *wlr_xwayland,
+ struct wlr_xwayland_surface *surface);
+void wlr_xwayland_surface_close(struct wlr_xwayland *wlr_xwayland,
+ struct wlr_xwayland_surface *surface);
#endif