refactor + add request set selection handles
This commit is contained in:
26
seat.c
26
seat.c
@@ -216,6 +216,24 @@ static void seat_request_set_selection(struct wl_listener *listener, void *data)
|
||||
wlr_seat_set_selection(seat->wlr_seat, event->source, event->serial);
|
||||
}
|
||||
|
||||
static void request_set_selection_notify(struct wl_listener *listener, void *data)
|
||||
{
|
||||
struct diyac_seat *seat = wl_container_of(
|
||||
listener, seat, request_set_selection);
|
||||
struct wlr_seat_request_set_selection_event *event = data;
|
||||
wlr_seat_set_selection(seat->wlr_seat, event->source,
|
||||
event->serial);
|
||||
}
|
||||
|
||||
static void request_set_primary_selection_notify(struct wl_listener *listener, void *data)
|
||||
{
|
||||
struct diyac_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->wlr_seat, event->source,
|
||||
event->serial);
|
||||
}
|
||||
|
||||
/*
|
||||
* Configures a seat, which is a single "seat" at which a user sits and
|
||||
* operates the computer. This conceptually includes up to one keyboard,
|
||||
@@ -235,6 +253,14 @@ void diyac_init_seat(struct diyac_server *server)
|
||||
server->seat.request_set_selection.notify = seat_request_set_selection;
|
||||
wl_signal_add(&server->seat.wlr_seat->events.request_set_selection,
|
||||
&server->seat.request_set_selection);
|
||||
server->seat.request_set_selection.notify = request_set_selection_notify;
|
||||
wl_signal_add(&server->seat.wlr_seat->events.request_set_selection,
|
||||
&server->seat.request_set_selection);
|
||||
|
||||
server->seat.request_set_primary_selection.notify =
|
||||
request_set_primary_selection_notify;
|
||||
wl_signal_add(&server->seat.wlr_seat->events.request_set_primary_selection,
|
||||
&server->seat.request_set_primary_selection);
|
||||
}
|
||||
|
||||
static void seat_focus(struct diyac_seat *seat, struct wlr_surface *surface, bool is_lock_surface)
|
||||
|
Reference in New Issue
Block a user