Merge pull request #170 from emersion/xwayland

Improve xwayland, batch 2
This commit is contained in:
Drew DeVault 2017-09-29 17:25:58 -04:00 committed by GitHub
commit a48dedba3d
6 changed files with 395 additions and 19 deletions

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

@ -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