xwayland: split xwm structure out, initial xwm.c

This commit is contained in:
Dominique Martinet 2017-08-19 21:25:26 +02:00
parent 60451521bd
commit b2bab1af5c
7 changed files with 117 additions and 5 deletions

View file

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

View file

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