layer shell and others

This commit is contained in:
2026-05-17 20:03:02 +07:00
parent 62dbb3a54e
commit 5d81826183
26 changed files with 3616 additions and 298 deletions
+10 -5
View File
@@ -9,22 +9,27 @@ void request_cursor(struct wl_listener *listener, void *data)
struct wlr_seat_pointer_request_set_cursor_event *event = data;
struct wlr_seat_client *client = server->seat->pointer_state.focused_client;
if (client == event->seat_client)
wlr_cursor_set_surface(server->cursor, event->surface, event->hotspot_x, event->hotspot_y);
if (client == event->seat_client) {
wlr_cursor_set_surface(server->cursor, event->surface, event->hotspot_x,
event->hotspot_y);
}
}
void pointer_focus_change(struct wl_listener *listener, void *data)
{
absn_server *server = wl_container_of(listener, server, pointer_focus_change);
absn_server *server =
wl_container_of(listener, server, pointer_focus_change);
struct wlr_seat_pointer_focus_change_event *event = data;
if (!event->new_surface)
if (!event->new_surface) {
wlr_cursor_set_xcursor(server->cursor, server->cursor_mgr, "default");
}
}
void request_set_selection(struct wl_listener *listener, void *data)
{
absn_server *server = wl_container_of(listener, server, request_set_selection);
absn_server *server =
wl_container_of(listener, server, request_set_selection);
struct wlr_seat_request_set_selection_event *event = data;
wlr_seat_set_selection(server->seat, event->source, event->serial);