diff options
-rw-r--r-- | sway/server.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/sway/server.c b/sway/server.c index 9c1671c3..59e7dc3f 100644 --- a/sway/server.c +++ b/sway/server.c | |||
@@ -8,7 +8,9 @@ | |||
8 | #include <wlr/render/wlr_renderer.h> | 8 | #include <wlr/render/wlr_renderer.h> |
9 | #include <wlr/types/wlr_compositor.h> | 9 | #include <wlr/types/wlr_compositor.h> |
10 | #include <wlr/types/wlr_gamma_control.h> | 10 | #include <wlr/types/wlr_gamma_control.h> |
11 | #include <wlr/types/wlr_linux_dmabuf.h> | ||
11 | #include <wlr/types/wlr_layer_shell.h> | 12 | #include <wlr/types/wlr_layer_shell.h> |
13 | #include <wlr/types/wlr_primary_selection.h> | ||
12 | #include <wlr/types/wlr_screenshooter.h> | 14 | #include <wlr/types/wlr_screenshooter.h> |
13 | #include <wlr/types/wlr_wl_shell.h> | 15 | #include <wlr/types/wlr_wl_shell.h> |
14 | #include <wlr/types/wlr_xcursor_manager.h> | 16 | #include <wlr/types/wlr_xcursor_manager.h> |
@@ -54,6 +56,7 @@ bool server_init(struct sway_server *server) { | |||
54 | 56 | ||
55 | wlr_screenshooter_create(server->wl_display); | 57 | wlr_screenshooter_create(server->wl_display); |
56 | wlr_gamma_control_manager_create(server->wl_display); | 58 | wlr_gamma_control_manager_create(server->wl_display); |
59 | wlr_primary_selection_device_manager_create(server->wl_display); | ||
57 | 60 | ||
58 | server->new_output.notify = handle_new_output; | 61 | server->new_output.notify = handle_new_output; |
59 | wl_signal_add(&server->backend->events.new_output, &server->new_output); | 62 | wl_signal_add(&server->backend->events.new_output, &server->new_output); |
@@ -68,6 +71,11 @@ bool server_init(struct sway_server *server) { | |||
68 | &server->xdg_shell_v6_surface); | 71 | &server->xdg_shell_v6_surface); |
69 | server->xdg_shell_v6_surface.notify = handle_xdg_shell_v6_surface; | 72 | server->xdg_shell_v6_surface.notify = handle_xdg_shell_v6_surface; |
70 | 73 | ||
74 | server->wl_shell = wlr_wl_shell_create(server->wl_display); | ||
75 | wl_signal_add(&server->wl_shell->events.new_surface, | ||
76 | &server->wl_shell_surface); | ||
77 | server->wl_shell_surface.notify = handle_wl_shell_surface; | ||
78 | |||
71 | // TODO make xwayland optional | 79 | // TODO make xwayland optional |
72 | server->xwayland = | 80 | server->xwayland = |
73 | wlr_xwayland_create(server->wl_display, server->compositor); | 81 | wlr_xwayland_create(server->wl_display, server->compositor); |
@@ -91,10 +99,8 @@ bool server_init(struct sway_server *server) { | |||
91 | image->hotspot_y); | 99 | image->hotspot_y); |
92 | } | 100 | } |
93 | 101 | ||
94 | server->wl_shell = wlr_wl_shell_create(server->wl_display); | 102 | struct wlr_egl *egl = wlr_backend_get_egl(server->backend); |
95 | wl_signal_add(&server->wl_shell->events.new_surface, | 103 | wlr_linux_dmabuf_create(server->wl_display, egl); |
96 | &server->wl_shell_surface); | ||
97 | server->wl_shell_surface.notify = handle_wl_shell_surface; | ||
98 | 104 | ||
99 | server->socket = wl_display_add_socket_auto(server->wl_display); | 105 | server->socket = wl_display_add_socket_auto(server->wl_display); |
100 | if (!server->socket) { | 106 | if (!server->socket) { |