xwayland: add signals for configure, set_{class,title}

This commit is contained in:
emersion 2017-09-29 18:28:38 +02:00
parent f2b03b2ec1
commit d8c86431e0
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48
5 changed files with 77 additions and 19 deletions

View file

@ -31,6 +31,7 @@ struct roots_xwayland_surface {
struct roots_view *view;
// TODO: Maybe destroy listener should go in roots_view
struct wl_listener destroy;
struct wl_listener request_configure;
};
enum roots_view_type {

View file

@ -106,7 +106,7 @@ void wlr_wl_shell_destroy(struct wlr_wl_shell *wlr_wl_shell);
void wlr_wl_shell_surface_ping(struct wlr_wl_shell_surface *surface);
void wlr_wl_shell_surface_configure(struct wlr_wl_shell_surface *surface,
uint32_t edges, int32_t width, int32_t height);
enum wl_shell_surface_resize edges, int32_t width, int32_t height);
void wlr_wl_shell_surface_popup_done(struct wlr_wl_shell_surface *surface);
#endif

View file

@ -47,18 +47,28 @@ struct wlr_xwayland_surface {
struct {
struct wl_signal destroy;
struct wl_signal request_configure;
struct wl_signal set_title;
struct wl_signal set_class;
} 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_xwm *xwm,
struct wlr_xwayland_surface *surface, uint32_t x, uint32_t y,
uint32_t width, uint32_t height);
void wlr_xwayland_surface_configure(struct wlr_xwayland *wlr_xwayland,
struct wlr_xwayland_surface *surface);
#endif