diff --git a/sway/server.c b/sway/server.c index 9c1671c36..59e7dc3f8 100644 --- a/sway/server.c +++ b/sway/server.c @@ -8,7 +8,9 @@ #include #include #include +#include #include +#include #include #include #include @@ -54,6 +56,7 @@ bool server_init(struct sway_server *server) { wlr_screenshooter_create(server->wl_display); wlr_gamma_control_manager_create(server->wl_display); + wlr_primary_selection_device_manager_create(server->wl_display); server->new_output.notify = handle_new_output; wl_signal_add(&server->backend->events.new_output, &server->new_output); @@ -68,6 +71,11 @@ bool server_init(struct sway_server *server) { &server->xdg_shell_v6_surface); server->xdg_shell_v6_surface.notify = handle_xdg_shell_v6_surface; + server->wl_shell = wlr_wl_shell_create(server->wl_display); + wl_signal_add(&server->wl_shell->events.new_surface, + &server->wl_shell_surface); + server->wl_shell_surface.notify = handle_wl_shell_surface; + // TODO make xwayland optional server->xwayland = wlr_xwayland_create(server->wl_display, server->compositor); @@ -91,10 +99,8 @@ bool server_init(struct sway_server *server) { image->hotspot_y); } - server->wl_shell = wlr_wl_shell_create(server->wl_display); - wl_signal_add(&server->wl_shell->events.new_surface, - &server->wl_shell_surface); - server->wl_shell_surface.notify = handle_wl_shell_surface; + struct wlr_egl *egl = wlr_backend_get_egl(server->backend); + wlr_linux_dmabuf_create(server->wl_display, egl); server->socket = wl_display_add_socket_auto(server->wl_display); if (!server->socket) {