aboutsummaryrefslogtreecommitdiff
path: root/include/sway
diff options
context:
space:
mode:
authorRyan Dwyer <ryandwyer1@gmail.com>2018-06-29 20:04:24 +1000
committerRyan Dwyer <ryandwyer1@gmail.com>2018-06-29 20:04:24 +1000
commita2fbb20a616444213ff3967b33eed7f4561e3978 (patch)
tree276a133eb78d6e0655bc164693650454d43a22ca /include/sway
parent3c81a900b766dd2c049ba7af6e603805893e0926 (diff)
parentd3ea07f8283385d015e1d85b5fe9bc8a776fc7b4 (diff)
downloadsway-a2fbb20a616444213ff3967b33eed7f4561e3978.tar.xz
Merge remote-tracking branch 'upstream/master' into atomic
Diffstat (limited to 'include/sway')
-rw-r--r--include/sway/output.h4
-rw-r--r--include/sway/server.h9
-rw-r--r--include/sway/xwayland.h25
3 files changed, 32 insertions, 6 deletions
diff --git a/include/sway/output.h b/include/sway/output.h
index e6ca0d02..19fc5e99 100644
--- a/include/sway/output.h
+++ b/include/sway/output.h
@@ -32,6 +32,10 @@ struct sway_output {
struct wl_list link;
pid_t bg_pid;
+
+ struct {
+ struct wl_signal destroy;
+ } events;
};
void output_damage_whole(struct sway_output *output);
diff --git a/include/sway/server.h b/include/sway/server.h
index 0efc6baa..1e1aa3cc 100644
--- a/include/sway/server.h
+++ b/include/sway/server.h
@@ -11,8 +11,8 @@
#include <wlr/types/wlr_xdg_shell.h>
#include <wlr/render/wlr_renderer.h>
// TODO WLR: make Xwayland optional
-#include <wlr/xwayland.h>
#include "list.h"
+#include "sway/xwayland.h"
struct sway_server {
struct wl_display *wl_display;
@@ -38,12 +38,9 @@ struct sway_server {
struct wlr_xdg_shell *xdg_shell;
struct wl_listener xdg_shell_surface;
- struct wlr_xwayland *xwayland;
- struct wlr_xcursor_manager *xcursor_manager;
+ struct sway_xwayland xwayland;
struct wl_listener xwayland_surface;
-
- struct wlr_wl_shell *wl_shell;
- struct wl_listener wl_shell_surface;
+ struct wl_listener xwayland_ready;
bool debug_txn_timings;
diff --git a/include/sway/xwayland.h b/include/sway/xwayland.h
new file mode 100644
index 00000000..78d1053b
--- /dev/null
+++ b/include/sway/xwayland.h
@@ -0,0 +1,25 @@
+#ifndef SWAY_XWAYLAND_H
+#define SWAY_XWAYLAND_H
+
+#include <wlr/xwayland.h>
+#include <xcb/xproto.h>
+
+enum atom_name {
+ NET_WM_WINDOW_TYPE_DIALOG,
+ NET_WM_WINDOW_TYPE_UTILITY,
+ NET_WM_WINDOW_TYPE_TOOLBAR,
+ NET_WM_WINDOW_TYPE_SPLASH,
+ NET_WM_STATE_MODAL,
+ ATOM_LAST,
+};
+
+struct sway_xwayland {
+ struct wlr_xwayland *wlr_xwayland;
+ struct wlr_xcursor_manager *xcursor_manager;
+
+ xcb_atom_t atoms[ATOM_LAST];
+};
+
+void handle_xwayland_ready(struct wl_listener *listener, void *data);
+
+#endif