summaryrefslogtreecommitdiff
path: root/sway/server.c
diff options
context:
space:
mode:
authorDrew DeVault <[email protected]>2018-06-26 20:31:32 -0700
committerGitHub <[email protected]>2018-06-26 20:31:32 -0700
commit152ccd7fb14dc0f09f9c6f902f727f7addf7657a (patch)
tree0c0951e0ec5c36a6de14535903092b539bdbbf9b /sway/server.c
parentf0f50c31d5e40f3dbe80c60d01bafc80c3bd24c0 (diff)
parentbf380813829b11d42ff0703630600e5bee06098b (diff)
Merge pull request #2145 from emersion/xwayland-wants-float
Automatically float xwayland windows
Diffstat (limited to 'sway/server.c')
-rw-r--r--sway/server.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/sway/server.c b/sway/server.c
index a467283b..5b052494 100644
--- a/sway/server.c
+++ b/sway/server.c
@@ -19,12 +19,11 @@
#include <wlr/types/wlr_xdg_output.h>
#include <wlr/util/log.h>
// TODO WLR: make Xwayland optional
-#include <wlr/xwayland.h>
#include "sway/config.h"
#include "sway/input/input-manager.h"
#include "sway/server.h"
#include "sway/tree/layout.h"
-
+#include "sway/xwayland.h"
bool server_privileged_prepare(struct sway_server *server) {
wlr_log(L_DEBUG, "Preparing Wayland server initialization");
@@ -78,20 +77,23 @@ bool server_init(struct sway_server *server) {
server->xdg_shell_surface.notify = handle_xdg_shell_surface;
// TODO make xwayland optional
- server->xwayland =
+ server->xwayland.wlr_xwayland =
wlr_xwayland_create(server->wl_display, server->compositor, true);
- wl_signal_add(&server->xwayland->events.new_surface,
+ wl_signal_add(&server->xwayland.wlr_xwayland->events.new_surface,
&server->xwayland_surface);
server->xwayland_surface.notify = handle_xwayland_surface;
+ wl_signal_add(&server->xwayland.wlr_xwayland->events.ready,
+ &server->xwayland_ready);
+ server->xwayland_ready.notify = handle_xwayland_ready;
// TODO: configurable cursor theme and size
- server->xcursor_manager = wlr_xcursor_manager_create(NULL, 24);
- wlr_xcursor_manager_load(server->xcursor_manager, 1);
+ server->xwayland.xcursor_manager = wlr_xcursor_manager_create(NULL, 24);
+ wlr_xcursor_manager_load(server->xwayland.xcursor_manager, 1);
struct wlr_xcursor *xcursor = wlr_xcursor_manager_get_xcursor(
- server->xcursor_manager, "left_ptr", 1);
+ server->xwayland.xcursor_manager, "left_ptr", 1);
if (xcursor != NULL) {
struct wlr_xcursor_image *image = xcursor->images[0];
- wlr_xwayland_set_cursor(server->xwayland, image->buffer,
+ wlr_xwayland_set_cursor(server->xwayland.wlr_xwayland, image->buffer,
image->width * 4, image->width, image->height, image->hotspot_x,
image->hotspot_y);
}