add support for primary selection

This commit is contained in:
Daniel Barlow 2021-08-18 23:41:07 +01:00
parent 3efcfaf145
commit 804384368c
2 changed files with 16 additions and 6 deletions

View file

@ -76,6 +76,7 @@ struct seat {
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;

View file

@ -5,6 +5,7 @@
#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)
@ -40,6 +41,16 @@ request_set_selection_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)
{
@ -402,10 +413,8 @@ cursor_init(struct seat *seat)
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);
}