diff options
Diffstat (limited to 'sway/server.c')
-rw-r--r-- | sway/server.c | 18 |
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); } |