aboutsummaryrefslogtreecommitdiffstats
path: root/sway/server.c
diff options
context:
space:
mode:
authorLibravatar Drew DeVault <sir@cmpwn.com>2018-03-31 09:21:15 -0400
committerLibravatar Drew DeVault <sir@cmpwn.com>2018-03-31 09:21:15 -0400
commitae0552606b00decceaced48707fc24fedbbecad4 (patch)
treeecc130bcb66fd3a9f2f60b4f36b82f6a7594c4aa /sway/server.c
parentMerge pull request #1678 from emersion/xwayland-xcursor (diff)
downloadsway-ae0552606b00decceaced48707fc24fedbbecad4.tar.gz
sway-ae0552606b00decceaced48707fc24fedbbecad4.tar.zst
sway-ae0552606b00decceaced48707fc24fedbbecad4.zip
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 @@
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) {