Add XWayland support

With Cage becoming more popular since its mention on Phoronix and
therefore getting more use-cases than just my own project, add XWayland
support. The refactoring of 2cf40f7 makes this much easier. Note that
this is a no-cost addition for those of us not using XWayland as it is a
compile-time option that needs to be explicitly enabled by adding
`-Dxwayland=true` to your meson command.
This commit is contained in:
Jente Hidskes 2018-12-31 17:24:21 +01:00
parent 48f8f69556
commit a34c726a1c
No known key found for this signature in database
GPG key ID: 04BE5A29F32D91EA
10 changed files with 213 additions and 3 deletions

View file

@ -1,9 +1,14 @@
#ifndef CG_SERVER_H
#define CG_SERVER_H
#include "config.h"
#include <wayland-server.h>
#include <wlr/backend.h>
#include <wlr/types/wlr_output_layout.h>
#ifdef CAGE_HAS_XWAYLAND
#include <wlr/xwayland.h>
#endif
#include "output.h"
#include "seat.h"
@ -20,6 +25,10 @@ struct cg_server {
struct wlr_output_layout *output_layout;
struct cg_output *output;
struct wl_listener new_output;
#if CAGE_HAS_XWAYLAND
struct wl_listener new_xwayland_surface;
#endif
};
#endif