gimp but for windows: a wayland compositor
git clone https://github.com/m-col/wimp
Files | Refs | Readme

Commit a7e9608a050a0a483ef8c3ad2c078ffa056f5462
Parent: 31e7e1d7bf1b7919d7d0a4bd5b1c7ed040b46bf1
Author: mcol <mcol@posteo.net>
Date: 2020-11-23 22:53:05 +0000
Committer: mcol <mcol@posteo.net>
Committed: 2020-11-23 22:53:23 +0000

add primary-selection-unstable-v1 manager

src/shell.c Modified

@@ -1,4 +1,3 @@
-#include <wlr/types/wlr_screencopy_v1.h>
 #include <wlr/util/edges.h>
 
 #include "types.h"
@@ -134,6 +133,4 @@
     server->shell = wlr_xdg_shell_create(server->display);
     server->new_xdg_surface_listener.notify = on_new_xdg_surface;
     wl_signal_add(&server->shell->events.new_surface, &server->new_xdg_surface_listener);
-
-    wlr_screencopy_manager_v1_create(server->display);
 }

src/deskwm.c Modified

@@ -5,6 +5,8 @@
 #include <wlr/render/wlr_renderer.h>
 #include <wlr/types/wlr_compositor.h>
 #include <wlr/types/wlr_data_device.h>
+#include <wlr/types/wlr_primary_selection_v1.h>
+#include <wlr/types/wlr_screencopy_v1.h>
 #include <wlr/types/wlr_xdg_shell.h>
 #include <wlr/util/log.h>
 
@@ -55,7 +57,12 @@
     server.renderer = wlr_backend_get_renderer(server.backend);
     wlr_renderer_init_wl_display(server.renderer, server.display);
     wlr_compositor_create(server.display, server.renderer);
+
+    // add some managers
+    wlr_screencopy_manager_v1_create(server.display);
     wlr_data_device_manager_create(server.display);
+    wlr_primary_selection_v1_device_manager_create(server.display);
+
     wl_list_init(&server.desks);
     server.can_steal_focus = false;
 

readme.rst Modified

@@ -16,7 +16,6 @@
 To do list:
  - xwayland
  - xdg-decoration protocol
- - primary-selection protocol
  - functions to shift focus
  - functions to shift desk view
  - handle fullscreening