mirror of
https://github.com/swaywm/sway.git
synced 2025-11-21 06:59:48 -05:00
Merge pull request #2350 from ppascher/xwayland-optional
Added meson option to allow building sway without xwayland support
This commit is contained in:
commit
fc718f629a
17 changed files with 104 additions and 20 deletions
|
|
@ -2,6 +2,7 @@
|
|||
#define _SWAY_CRITERIA_H
|
||||
|
||||
#include <pcre.h>
|
||||
#include "config.h"
|
||||
#include "list.h"
|
||||
#include "tree/view.h"
|
||||
|
||||
|
|
@ -25,7 +26,9 @@ struct criteria {
|
|||
pcre *instance;
|
||||
pcre *con_mark;
|
||||
uint32_t con_id; // internal ID
|
||||
#ifdef HAVE_XWAYLAND
|
||||
uint32_t id; // X11 window ID
|
||||
#endif
|
||||
pcre *window_role;
|
||||
uint32_t window_type;
|
||||
bool floating;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,10 @@
|
|||
#include <wlr/render/wlr_renderer.h>
|
||||
// TODO WLR: make Xwayland optional
|
||||
#include "list.h"
|
||||
#include "config.h"
|
||||
#ifdef HAVE_XWAYLAND
|
||||
#include "sway/xwayland.h"
|
||||
#endif
|
||||
|
||||
struct sway_server {
|
||||
struct wl_display *wl_display;
|
||||
|
|
@ -39,11 +42,11 @@ struct sway_server {
|
|||
|
||||
struct wlr_xdg_shell *xdg_shell;
|
||||
struct wl_listener xdg_shell_surface;
|
||||
|
||||
#ifdef HAVE_XWAYLAND
|
||||
struct sway_xwayland xwayland;
|
||||
struct wl_listener xwayland_surface;
|
||||
struct wl_listener xwayland_ready;
|
||||
|
||||
#endif
|
||||
bool debug_txn_timings;
|
||||
|
||||
list_t *transactions;
|
||||
|
|
@ -65,6 +68,7 @@ void handle_idle_inhibitor_v1(struct wl_listener *listener, void *data);
|
|||
void handle_layer_shell_surface(struct wl_listener *listener, void *data);
|
||||
void handle_xdg_shell_v6_surface(struct wl_listener *listener, void *data);
|
||||
void handle_xdg_shell_surface(struct wl_listener *listener, void *data);
|
||||
#ifdef HAVE_XWAYLAND
|
||||
void handle_xwayland_surface(struct wl_listener *listener, void *data);
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
#include <wlr/types/wlr_output_layout.h>
|
||||
#include <wlr/render/wlr_texture.h>
|
||||
#include "sway/tree/container.h"
|
||||
#include "config.h"
|
||||
|
||||
enum movement_direction {
|
||||
MOVE_LEFT,
|
||||
|
|
@ -27,8 +28,9 @@ struct sway_root {
|
|||
struct wlr_output_layout *output_layout;
|
||||
|
||||
struct wl_listener output_layout_change;
|
||||
|
||||
#ifdef HAVE_XWAYLAND
|
||||
struct wl_list xwayland_unmanaged; // sway_xwayland_unmanaged::link
|
||||
#endif
|
||||
struct wl_list drag_icons; // sway_drag_icon::link
|
||||
|
||||
struct wlr_texture *debug_tree;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,10 @@
|
|||
#include <wayland-server.h>
|
||||
#include <wlr/types/wlr_surface.h>
|
||||
#include <wlr/types/wlr_xdg_shell_v6.h>
|
||||
#include "config.h"
|
||||
#ifdef HAVE_XWAYLAND
|
||||
#include <wlr/xwayland.h>
|
||||
#endif
|
||||
#include "sway/input/input-manager.h"
|
||||
#include "sway/input/seat.h"
|
||||
|
||||
|
|
@ -12,7 +15,9 @@ struct sway_container;
|
|||
enum sway_view_type {
|
||||
SWAY_VIEW_XDG_SHELL_V6,
|
||||
SWAY_VIEW_XDG_SHELL,
|
||||
#ifdef HAVE_XWAYLAND
|
||||
SWAY_VIEW_XWAYLAND,
|
||||
#endif
|
||||
};
|
||||
|
||||
enum sway_view_prop {
|
||||
|
|
@ -22,7 +27,9 @@ enum sway_view_prop {
|
|||
VIEW_PROP_INSTANCE,
|
||||
VIEW_PROP_WINDOW_TYPE,
|
||||
VIEW_PROP_WINDOW_ROLE,
|
||||
#ifdef HAVE_XWAYLAND
|
||||
VIEW_PROP_X11_WINDOW_ID,
|
||||
#endif
|
||||
};
|
||||
|
||||
struct sway_view_impl {
|
||||
|
|
@ -90,7 +97,9 @@ struct sway_view {
|
|||
union {
|
||||
struct wlr_xdg_surface_v6 *wlr_xdg_surface_v6;
|
||||
struct wlr_xdg_surface *wlr_xdg_surface;
|
||||
#ifdef HAVE_XWAYLAND
|
||||
struct wlr_xwayland_surface *wlr_xwayland_surface;
|
||||
#endif
|
||||
struct wlr_wl_shell_surface *wlr_wl_shell_surface;
|
||||
};
|
||||
|
||||
|
|
@ -133,7 +142,7 @@ struct sway_xdg_shell_view {
|
|||
struct wl_listener unmap;
|
||||
struct wl_listener destroy;
|
||||
};
|
||||
|
||||
#ifdef HAVE_XWAYLAND
|
||||
struct sway_xwayland_view {
|
||||
struct sway_view view;
|
||||
|
||||
|
|
@ -165,7 +174,7 @@ struct sway_xwayland_unmanaged {
|
|||
struct wl_listener unmap;
|
||||
struct wl_listener destroy;
|
||||
};
|
||||
|
||||
#endif
|
||||
struct sway_view_child;
|
||||
|
||||
struct sway_view_child_impl {
|
||||
|
|
@ -281,9 +290,10 @@ struct sway_view *view_from_wlr_xdg_surface(
|
|||
struct wlr_xdg_surface *xdg_surface);
|
||||
struct sway_view *view_from_wlr_xdg_surface_v6(
|
||||
struct wlr_xdg_surface_v6 *xdg_surface_v6);
|
||||
#ifdef HAVE_XWAYLAND
|
||||
struct sway_view *view_from_wlr_xwayland_surface(
|
||||
struct wlr_xwayland_surface *xsurface);
|
||||
|
||||
#endif
|
||||
struct sway_view *view_from_wlr_surface(struct wlr_surface *surface);
|
||||
|
||||
/**
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue