struct wl_listener request_cursor;
struct wl_listener request_set_selection;
+ struct wl_listener request_set_primary_selection;
struct wl_listener keyboard_key;
struct wl_listener keyboard_modifiers;
#include "labwc.h"
#include "menu/menu.h"
#include "ssd.h"
+#include <wlr/types/wlr_primary_selection.h>
static void
request_cursor_notify(struct wl_listener *listener, void *data)
event->serial);
}
+static void
+request_set_primary_selection_notify(struct wl_listener *listener, void *data)
+{
+ struct seat *seat = wl_container_of(
+ listener, seat, request_set_primary_selection);
+ struct wlr_seat_request_set_primary_selection_event *event = data;
+ wlr_seat_set_primary_selection(seat->seat, event->source,
+ event->serial);
+}
+
static void
process_cursor_move(struct server *server, uint32_t time)
{
seat->request_set_selection.notify = request_set_selection_notify;
wl_signal_add(&seat->seat->events.request_set_selection, &seat->request_set_selection);
- /* TODO:
- * seat->request_set_primary_selection.notify =
- * request_set_primary_selectioni_notify;
- * wl_signal_add(&seat->seat->events.request_set_primary_selection,
- * &seat->request_set_primary_selection);
- */
+ seat->request_set_primary_selection.notify =
+ request_set_primary_selection_notify;
+ wl_signal_add(&seat->seat->events.request_set_primary_selection,
+ &seat->request_set_primary_selection);
}