aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2018-07-25 08:27:40 -0400
committerLibravatar GitHub <noreply@github.com>2018-07-25 08:27:40 -0400
commitfc718f629af231f8a0ae795b2f7529e213cab183 (patch)
tree7917aadbfb09d02d3d60045f0ba8d5028f0c4bb4 /include
parentMerge pull request #2354 from RyanDwyer/fix-crash-on-tab-reap (diff)
parentmore style fixes, reorder config.h include (diff)
downloadsway-fc718f629af231f8a0ae795b2f7529e213cab183.tar.gz
sway-fc718f629af231f8a0ae795b2f7529e213cab183.tar.zst
sway-fc718f629af231f8a0ae795b2f7529e213cab183.zip
Merge pull request #2350 from ppascher/xwayland-optional
Added meson option to allow building sway without xwayland support
Diffstat (limited to 'include')
-rw-r--r--include/sway/criteria.h3
-rw-r--r--include/sway/server.h10
-rw-r--r--include/sway/tree/layout.h4
-rw-r--r--include/sway/tree/view.h16
4 files changed, 26 insertions, 7 deletions
diff --git a/include/sway/criteria.h b/include/sway/criteria.h
index 6a8337c5..b4ff7d49 100644
--- a/include/sway/criteria.h
+++ b/include/sway/criteria.h
@@ -2,6 +2,7 @@
2#define _SWAY_CRITERIA_H 2#define _SWAY_CRITERIA_H
3 3
4#include <pcre.h> 4#include <pcre.h>
5#include "config.h"
5#include "list.h" 6#include "list.h"
6#include "tree/view.h" 7#include "tree/view.h"
7 8
@@ -25,7 +26,9 @@ struct criteria {
25 pcre *instance; 26 pcre *instance;
26 pcre *con_mark; 27 pcre *con_mark;
27 uint32_t con_id; // internal ID 28 uint32_t con_id; // internal ID
29#ifdef HAVE_XWAYLAND
28 uint32_t id; // X11 window ID 30 uint32_t id; // X11 window ID
31#endif
29 pcre *window_role; 32 pcre *window_role;
30 uint32_t window_type; 33 uint32_t window_type;
31 bool floating; 34 bool floating;
diff --git a/include/sway/server.h b/include/sway/server.h
index 70bde6d4..a3782f91 100644
--- a/include/sway/server.h
+++ b/include/sway/server.h
@@ -12,7 +12,10 @@
12#include <wlr/render/wlr_renderer.h> 12#include <wlr/render/wlr_renderer.h>
13// TODO WLR: make Xwayland optional 13// TODO WLR: make Xwayland optional
14#include "list.h" 14#include "list.h"
15#include "config.h"
16#ifdef HAVE_XWAYLAND
15#include "sway/xwayland.h" 17#include "sway/xwayland.h"
18#endif
16 19
17struct sway_server { 20struct sway_server {
18 struct wl_display *wl_display; 21 struct wl_display *wl_display;
@@ -39,11 +42,11 @@ struct sway_server {
39 42
40 struct wlr_xdg_shell *xdg_shell; 43 struct wlr_xdg_shell *xdg_shell;
41 struct wl_listener xdg_shell_surface; 44 struct wl_listener xdg_shell_surface;
42 45#ifdef HAVE_XWAYLAND
43 struct sway_xwayland xwayland; 46 struct sway_xwayland xwayland;
44 struct wl_listener xwayland_surface; 47 struct wl_listener xwayland_surface;
45 struct wl_listener xwayland_ready; 48 struct wl_listener xwayland_ready;
46 49#endif
47 bool debug_txn_timings; 50 bool debug_txn_timings;
48 51
49 list_t *transactions; 52 list_t *transactions;
@@ -65,6 +68,7 @@ void handle_idle_inhibitor_v1(struct wl_listener *listener, void *data);
65void handle_layer_shell_surface(struct wl_listener *listener, void *data); 68void handle_layer_shell_surface(struct wl_listener *listener, void *data);
66void handle_xdg_shell_v6_surface(struct wl_listener *listener, void *data); 69void handle_xdg_shell_v6_surface(struct wl_listener *listener, void *data);
67void handle_xdg_shell_surface(struct wl_listener *listener, void *data); 70void handle_xdg_shell_surface(struct wl_listener *listener, void *data);
71#ifdef HAVE_XWAYLAND
68void handle_xwayland_surface(struct wl_listener *listener, void *data); 72void handle_xwayland_surface(struct wl_listener *listener, void *data);
69 73#endif
70#endif 74#endif
diff --git a/include/sway/tree/layout.h b/include/sway/tree/layout.h
index 7d7da2d7..a4c31bf6 100644
--- a/include/sway/tree/layout.h
+++ b/include/sway/tree/layout.h
@@ -3,6 +3,7 @@
3#include <wlr/types/wlr_output_layout.h> 3#include <wlr/types/wlr_output_layout.h>
4#include <wlr/render/wlr_texture.h> 4#include <wlr/render/wlr_texture.h>
5#include "sway/tree/container.h" 5#include "sway/tree/container.h"
6#include "config.h"
6 7
7enum movement_direction { 8enum movement_direction {
8 MOVE_LEFT, 9 MOVE_LEFT,
@@ -27,8 +28,9 @@ struct sway_root {
27 struct wlr_output_layout *output_layout; 28 struct wlr_output_layout *output_layout;
28 29
29 struct wl_listener output_layout_change; 30 struct wl_listener output_layout_change;
30 31#ifdef HAVE_XWAYLAND
31 struct wl_list xwayland_unmanaged; // sway_xwayland_unmanaged::link 32 struct wl_list xwayland_unmanaged; // sway_xwayland_unmanaged::link
33#endif
32 struct wl_list drag_icons; // sway_drag_icon::link 34 struct wl_list drag_icons; // sway_drag_icon::link
33 35
34 struct wlr_texture *debug_tree; 36 struct wlr_texture *debug_tree;
diff --git a/include/sway/tree/view.h b/include/sway/tree/view.h
index 3bdfe252..1972447b 100644
--- a/include/sway/tree/view.h
+++ b/include/sway/tree/view.h
@@ -3,7 +3,10 @@
3#include <wayland-server.h> 3#include <wayland-server.h>
4#include <wlr/types/wlr_surface.h> 4#include <wlr/types/wlr_surface.h>
5#include <wlr/types/wlr_xdg_shell_v6.h> 5#include <wlr/types/wlr_xdg_shell_v6.h>
6#include "config.h"
7#ifdef HAVE_XWAYLAND
6#include <wlr/xwayland.h> 8#include <wlr/xwayland.h>
9#endif
7#include "sway/input/input-manager.h" 10#include "sway/input/input-manager.h"
8#include "sway/input/seat.h" 11#include "sway/input/seat.h"
9 12
@@ -12,7 +15,9 @@ struct sway_container;
12enum sway_view_type { 15enum sway_view_type {
13 SWAY_VIEW_XDG_SHELL_V6, 16 SWAY_VIEW_XDG_SHELL_V6,
14 SWAY_VIEW_XDG_SHELL, 17 SWAY_VIEW_XDG_SHELL,
18#ifdef HAVE_XWAYLAND
15 SWAY_VIEW_XWAYLAND, 19 SWAY_VIEW_XWAYLAND,
20#endif
16}; 21};
17 22
18enum sway_view_prop { 23enum sway_view_prop {
@@ -22,7 +27,9 @@ enum sway_view_prop {
22 VIEW_PROP_INSTANCE, 27 VIEW_PROP_INSTANCE,
23 VIEW_PROP_WINDOW_TYPE, 28 VIEW_PROP_WINDOW_TYPE,
24 VIEW_PROP_WINDOW_ROLE, 29 VIEW_PROP_WINDOW_ROLE,
30#ifdef HAVE_XWAYLAND
25 VIEW_PROP_X11_WINDOW_ID, 31 VIEW_PROP_X11_WINDOW_ID,
32#endif
26}; 33};
27 34
28struct sway_view_impl { 35struct sway_view_impl {
@@ -90,7 +97,9 @@ struct sway_view {
90 union { 97 union {
91 struct wlr_xdg_surface_v6 *wlr_xdg_surface_v6; 98 struct wlr_xdg_surface_v6 *wlr_xdg_surface_v6;
92 struct wlr_xdg_surface *wlr_xdg_surface; 99 struct wlr_xdg_surface *wlr_xdg_surface;
100#ifdef HAVE_XWAYLAND
93 struct wlr_xwayland_surface *wlr_xwayland_surface; 101 struct wlr_xwayland_surface *wlr_xwayland_surface;
102#endif
94 struct wlr_wl_shell_surface *wlr_wl_shell_surface; 103 struct wlr_wl_shell_surface *wlr_wl_shell_surface;
95 }; 104 };
96 105
@@ -133,7 +142,7 @@ struct sway_xdg_shell_view {
133 struct wl_listener unmap; 142 struct wl_listener unmap;
134 struct wl_listener destroy; 143 struct wl_listener destroy;
135}; 144};
136 145#ifdef HAVE_XWAYLAND
137struct sway_xwayland_view { 146struct sway_xwayland_view {
138 struct sway_view view; 147 struct sway_view view;
139 148
@@ -165,7 +174,7 @@ struct sway_xwayland_unmanaged {
165 struct wl_listener unmap; 174 struct wl_listener unmap;
166 struct wl_listener destroy; 175 struct wl_listener destroy;
167}; 176};
168 177#endif
169struct sway_view_child; 178struct sway_view_child;
170 179
171struct sway_view_child_impl { 180struct sway_view_child_impl {
@@ -281,9 +290,10 @@ struct sway_view *view_from_wlr_xdg_surface(
281 struct wlr_xdg_surface *xdg_surface); 290 struct wlr_xdg_surface *xdg_surface);
282struct sway_view *view_from_wlr_xdg_surface_v6( 291struct sway_view *view_from_wlr_xdg_surface_v6(
283 struct wlr_xdg_surface_v6 *xdg_surface_v6); 292 struct wlr_xdg_surface_v6 *xdg_surface_v6);
293#ifdef HAVE_XWAYLAND
284struct sway_view *view_from_wlr_xwayland_surface( 294struct sway_view *view_from_wlr_xwayland_surface(
285 struct wlr_xwayland_surface *xsurface); 295 struct wlr_xwayland_surface *xsurface);
286 296#endif
287struct sway_view *view_from_wlr_surface(struct wlr_surface *surface); 297struct sway_view *view_from_wlr_surface(struct wlr_surface *surface);
288 298
289/** 299/**