diff options
author | Drew DeVault <sir@cmpwn.com> | 2017-09-29 17:25:58 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-29 17:25:58 -0400 |
commit | a48dedba3dfe93a68a2c7cd80ab896a15d84884f (patch) | |
tree | 70f57212464eb5c68c7b822df58ea6ed580e6eea /include/wlr | |
parent | 285a109d416c9bcdc0c47dfb1b9ce4e474cd34dd (diff) | |
parent | 4ccb83bf33bbf531eef7fbd20e80146562fcae64 (diff) |
Merge pull request #170 from emersion/xwayland
Improve xwayland, batch 2
Diffstat (limited to 'include/wlr')
-rw-r--r-- | include/wlr/types/wlr_wl_shell.h | 2 | ||||
-rw-r--r-- | include/wlr/xwayland.h | 32 |
2 files changed, 33 insertions, 1 deletions
diff --git a/include/wlr/types/wlr_wl_shell.h b/include/wlr/types/wlr_wl_shell.h index 0b18a131..0db99989 100644 --- a/include/wlr/types/wlr_wl_shell.h +++ b/include/wlr/types/wlr_wl_shell.h @@ -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 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 |