diff options
author | Drew DeVault <[email protected]> | 2018-06-26 20:31:32 -0700 |
---|---|---|
committer | GitHub <[email protected]> | 2018-06-26 20:31:32 -0700 |
commit | 152ccd7fb14dc0f09f9c6f902f727f7addf7657a (patch) | |
tree | 0c0951e0ec5c36a6de14535903092b539bdbbf9b /sway/server.c | |
parent | f0f50c31d5e40f3dbe80c60d01bafc80c3bd24c0 (diff) | |
parent | bf380813829b11d42ff0703630600e5bee06098b (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.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); } |