aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2024-05-18 14:02:14 +0200
committerFurkan Sahin <furkan-dev@proton.me>2024-05-18 14:02:14 +0200
commit4c79614f5eebef14df87b231acb867f8da1220db (patch)
tree4943b3c8e2794146f74e5f6871865c2231231f7a /include
parent8705cb8867f14b2cac3d52e935e26ab740b9b0f0 (diff)
build: drop xwayland option
Instead of having a build-time option to enable/disable xwayland support, just use the wlroots build config: enable xwayland in Sway if it was enabled when building wlroots. I don't see any use-case for disabling xwayland in Sway when enabled in wlroots: Sway doesn't pull in any additional dependency (just pulls in dependencies that wlroots already needs). We have a config command to disable xwayland at runtime anyways. This makes it so xwayland behaves the same way as other features such as libinput backend and session support. This also reduces the build matrix (less combinations of build options). I think we originally introduced the xwayland option when we didn't have a good way to figure out the wlroots build config from the Sway build system.
Diffstat (limited to 'include')
-rw-r--r--include/sway/criteria.h2
-rw-r--r--include/sway/server.h6
-rw-r--r--include/sway/tree/root.h4
-rw-r--r--include/sway/tree/view.h13
4 files changed, 13 insertions, 12 deletions
diff --git a/include/sway/criteria.h b/include/sway/criteria.h
index 8da345ea..758d70ed 100644
--- a/include/sway/criteria.h
+++ b/include/sway/criteria.h
@@ -36,7 +36,7 @@ struct criteria {
struct pattern *app_id;
struct pattern *con_mark;
uint32_t con_id; // internal ID
-#if HAVE_XWAYLAND
+#if WLR_HAS_XWAYLAND
struct pattern *class;
uint32_t id; // X11 window ID
struct pattern *instance;
diff --git a/include/sway/server.h b/include/sway/server.h
index c71851f6..90f187fd 100644
--- a/include/sway/server.h
+++ b/include/sway/server.h
@@ -5,7 +5,7 @@
#include "config.h"
#include "list.h"
#include "sway/desktop/idle_inhibit_v1.h"
-#if HAVE_XWAYLAND
+#if WLR_HAS_XWAYLAND
#include "sway/xwayland.h"
#endif
@@ -59,7 +59,7 @@ struct sway_server {
struct wlr_tablet_manager_v2 *tablet_v2;
-#if HAVE_XWAYLAND
+#if WLR_HAS_XWAYLAND
struct sway_xwayland xwayland;
struct wl_listener xwayland_surface;
struct wl_listener xwayland_ready;
@@ -165,7 +165,7 @@ void sway_session_lock_add_output(struct sway_session_lock *lock,
bool sway_session_lock_has_surface(struct sway_session_lock *lock,
struct wlr_surface *surface);
void handle_xdg_shell_toplevel(struct wl_listener *listener, void *data);
-#if HAVE_XWAYLAND
+#if WLR_HAS_XWAYLAND
void handle_xwayland_surface(struct wl_listener *listener, void *data);
#endif
void handle_server_decoration(struct wl_listener *listener, void *data);
diff --git a/include/sway/tree/root.h b/include/sway/tree/root.h
index 15df0f55..7de0abcd 100644
--- a/include/sway/tree/root.h
+++ b/include/sway/tree/root.h
@@ -2,12 +2,12 @@
#define _SWAY_ROOT_H
#include <wayland-server-core.h>
#include <wayland-util.h>
+#include <wlr/config.h>
#include <wlr/types/wlr_output_layout.h>
#include <wlr/types/wlr_scene.h>
#include <wlr/render/wlr_texture.h>
#include "sway/tree/container.h"
#include "sway/tree/node.h"
-#include "config.h"
#include "list.h"
extern struct sway_root *root;
@@ -47,7 +47,7 @@ struct sway_root {
struct wlr_scene_tree *shell_top;
struct wlr_scene_tree *fullscreen;
struct wlr_scene_tree *fullscreen_global;
-#if HAVE_XWAYLAND
+#if WLR_HAS_XWAYLAND
struct wlr_scene_tree *unmanaged;
#endif
struct wlr_scene_tree *shell_overlay;
diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h
index 7faacdcc..3ae8cf22 100644
--- a/include/sway/tree/view.h
+++ b/include/sway/tree/view.h
@@ -1,10 +1,11 @@
#ifndef _SWAY_VIEW_H
#define _SWAY_VIEW_H
#include <wayland-server-core.h>
+#include <wlr/config.h>
#include <wlr/types/wlr_compositor.h>
#include <wlr/types/wlr_scene.h>
#include "sway/config.h"
-#if HAVE_XWAYLAND
+#if WLR_HAS_XWAYLAND
#include <wlr/xwayland.h>
#endif
#include "sway/input/input-manager.h"
@@ -15,7 +16,7 @@ struct sway_xdg_decoration;
enum sway_view_type {
SWAY_VIEW_XDG_SHELL,
-#if HAVE_XWAYLAND
+#if WLR_HAS_XWAYLAND
SWAY_VIEW_XWAYLAND,
#endif
};
@@ -27,7 +28,7 @@ enum sway_view_prop {
VIEW_PROP_INSTANCE,
VIEW_PROP_WINDOW_TYPE,
VIEW_PROP_WINDOW_ROLE,
-#if HAVE_XWAYLAND
+#if WLR_HAS_XWAYLAND
VIEW_PROP_X11_WINDOW_ID,
VIEW_PROP_X11_PARENT_ID,
#endif
@@ -98,7 +99,7 @@ struct sway_view {
union {
struct wlr_xdg_toplevel *wlr_xdg_toplevel;
-#if HAVE_XWAYLAND
+#if WLR_HAS_XWAYLAND
struct wlr_xwayland_surface *wlr_xwayland_surface;
#endif
};
@@ -127,7 +128,7 @@ struct sway_xdg_shell_view {
struct wl_listener unmap;
struct wl_listener destroy;
};
-#if HAVE_XWAYLAND
+#if WLR_HAS_XWAYLAND
struct sway_xwayland_view {
struct sway_view view;
@@ -293,7 +294,7 @@ void view_center_and_clip_surface(struct sway_view *view);
struct sway_view *view_from_wlr_xdg_surface(
struct wlr_xdg_surface *xdg_surface);
-#if HAVE_XWAYLAND
+#if WLR_HAS_XWAYLAND
struct sway_view *view_from_wlr_xwayland_surface(
struct wlr_xwayland_surface *xsurface);
#endif