Support xdg-toplevel-icon protocol

This patch also changes the semantics of scaled_icon_buffer: rather than
calling scaled_icon_buffer_set_app_id() every time an app_id is set, we
can now call scaled_icon_buffer_set_view() just once so that multiple
scaled_icon_buffers bound to a window are automatically updated when an
app_id is set or new icon is set via xdg-toplevel-icon-v1.
This commit is contained in:
tokyo4j 2025-05-30 20:58:48 +09:00 committed by Hiroaki Yamamoto
parent 649773b4f8
commit fb077c0095
12 changed files with 247 additions and 57 deletions

View file

@ -371,8 +371,7 @@ create_osd_scene(struct output *output, struct wl_array *views)
struct scaled_icon_buffer *icon_buffer =
scaled_icon_buffer_create(item_root,
server, icon_size, icon_size);
scaled_icon_buffer_set_app_id(icon_buffer,
view_get_string_prop(*view, "app_id"));
scaled_icon_buffer_set_view(icon_buffer, *view);
node = &icon_buffer->scene_buffer->node;
height = icon_size;
} else {