aboutsummaryrefslogtreecommitdiff
path: root/sway/server.c
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2018-03-31 09:21:15 -0400
committerDrew DeVault <sir@cmpwn.com>2018-03-31 09:21:15 -0400
commitae0552606b00decceaced48707fc24fedbbecad4 (patch)
treeecc130bcb66fd3a9f2f60b4f36b82f6a7594c4aa /sway/server.c
parent6a1a94b87c7e3e3c7145087c23024f9039a8a08c (diff)
Configure linux_dmabuf, primary_selection
Diffstat (limited to 'sway/server.c')
-rw-r--r--sway/server.c14
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 @@
#include <wlr/render/wlr_renderer.h>
#include <wlr/types/wlr_compositor.h>
#include <wlr/types/wlr_gamma_control.h>
+#include <wlr/types/wlr_linux_dmabuf.h>
#include <wlr/types/wlr_layer_shell.h>
+#include <wlr/types/wlr_primary_selection.h>
#include <wlr/types/wlr_screenshooter.h>
#include <wlr/types/wlr_wl_shell.h>
#include <wlr/types/wlr_xcursor_manager.h>
@@ -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) {