diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/wlr/xwayland.h | 11 | ||||
-rw-r--r-- | include/xwayland/internals.h | 16 |
2 files changed, 26 insertions, 1 deletions
diff --git a/include/wlr/xwayland.h b/include/wlr/xwayland.h index ef9cc887..f61a90bd 100644 --- a/include/wlr/xwayland.h +++ b/include/wlr/xwayland.h @@ -1,5 +1,11 @@ #ifndef _WLR_XWAYLAND_H #define _WLR_XWAYLAND_H +#include <time.h> +#include <sys/types.h> +#include <stdbool.h> +#include <wlr/types/wlr_compositor.h> + +struct wlr_xwm; struct wlr_xwayland { pid_t pid; @@ -7,11 +13,14 @@ struct wlr_xwayland { int x_fd[2], wl_fd[2], wm_fd[2]; struct wl_client *client; struct wl_display *wl_display; + struct wlr_compositor *compositor; time_t server_start; + + struct wlr_xwm *xwm; }; void wlr_xwayland_finish(struct wlr_xwayland *wlr_xwayland); bool wlr_xwayland_init(struct wlr_xwayland *wlr_xwayland, - struct wl_display *wl_display); + struct wl_display *wl_display, struct wlr_compositor *compositor); #endif diff --git a/include/xwayland/internals.h b/include/xwayland/internals.h index b91f7930..46158bd0 100644 --- a/include/xwayland/internals.h +++ b/include/xwayland/internals.h @@ -1,6 +1,22 @@ #ifndef XWAYLAND_INTERNALS_H #define XWAYLAND_INTERNALS_H +#include <xcb/xcb.h> +#include <wayland-server-core.h> +#include <wlr/xwayland.h> + +struct wlr_xwm { + struct wlr_xwayland *xwayland; + struct wl_event_source *event_source; + struct wl_listener surface_listener; + + xcb_connection_t *xcb_connection; + xcb_screen_t *xcb_screen; +}; void unlink_sockets(int display); int open_display_sockets(int socks[2]); + +void xwm_destroy(struct wlr_xwm *xwm); +struct wlr_xwm *xwm_create(struct wlr_xwayland *wlr_xwayland); + #endif |