Merge pull request #220 from versusvoid/optional-xwayland

Make Xwayland optional
This commit is contained in:
Drew DeVault 2017-10-09 08:09:03 -04:00 committed by GitHub
commit d0d6413772
10 changed files with 84 additions and 34 deletions

View file

@ -27,6 +27,7 @@ struct binding_config {
};
struct roots_config {
bool xwayland;
// TODO: Multiple cursors, multiseat
struct {
char *mapped_output;

View file

@ -35,15 +35,18 @@ struct roots_desktop {
struct wlr_compositor *compositor;
struct wlr_wl_shell *wl_shell;
struct wlr_xdg_shell_v6 *xdg_shell_v6;
struct wlr_xwayland *xwayland;
struct wlr_gamma_control_manager *gamma_control_manager;
struct wlr_screenshooter *screenshooter;
struct wl_listener output_add;
struct wl_listener output_remove;
struct wl_listener xdg_shell_v6_surface;
struct wl_listener xwayland_surface;
struct wl_listener wl_shell_surface;
#ifdef HAS_XWAYLAND
struct wlr_xwayland *xwayland;
struct wl_listener xwayland_surface;
#endif
};
struct roots_server;

View file

@ -5,7 +5,9 @@
#include <wlr/backend/session.h>
#include <wlr/types/wlr_data_device_manager.h>
#include <wlr/render.h>
#ifdef HAS_XWAYLAND
#include <wlr/xwayland.h>
#endif
#include "rootston/config.h"
#include "rootston/desktop.h"
#include "rootston/input.h"

View file

@ -58,12 +58,16 @@ struct roots_view {
union {
struct wlr_wl_shell_surface *wl_shell_surface;
struct wlr_xdg_surface_v6 *xdg_surface_v6;
#ifdef HAS_XWAYLAND
struct wlr_xwayland_surface *xwayland_surface;
#endif
};
union {
struct roots_wl_shell_surface *roots_wl_shell_surface;
struct roots_xdg_surface_v6 *roots_xdg_surface_v6;
#ifdef HAS_XWAYLAND
struct roots_xwayland_surface *roots_xwayland_surface;
#endif
};
struct wlr_surface *wlr_surface;
// TODO: This would probably be better as a field that's updated on a