wayland: bind the xdg-toplevel-icon manager global

This commit is contained in:
Daniel Eklöf 2024-09-08 11:18:30 +02:00
parent 5ef69fc591
commit 28a1c67dd5
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 23 additions and 0 deletions

View file

@ -1363,6 +1363,17 @@ handle_global(void *data, struct wl_registry *registry,
&wp_single_pixel_buffer_manager_v1_interface, required);
}
#if defined(HAVE_XDG_TOPLEVEL_ICON)
else if (streq(interface, xdg_toplevel_icon_v1_interface.name)) {
const uint32_t required = 1;
if (!verify_iface_version(interface, version, required))
return;
wayl->toplevel_icon_manager = wl_registry_bind(
wayl->registry, name, &xdg_toplevel_icon_v1_interface, required);
}
#endif
#if defined(FOOT_IME_ENABLED) && FOOT_IME_ENABLED
else if (streq(interface, zwp_text_input_manager_v3_interface.name)) {
const uint32_t required = 1;
@ -1679,6 +1690,10 @@ wayl_destroy(struct wayland *wayl)
zwp_text_input_manager_v3_destroy(wayl->text_input_manager);
#endif
#if defined(HAVE_XDG_TOPLEVEL_ICON)
if (wayl->toplevel_icon_manager != NULL)
xdg_toplevel_icon_manager_v1_destroy(wayl->toplevel_icon_manager);
#endif
if (wayl->single_pixel_manager != NULL)
wp_single_pixel_buffer_manager_v1_destroy(wayl->single_pixel_manager);
if (wayl->fractional_scale_manager != NULL)

View file

@ -20,6 +20,10 @@
#include <xdg-output-unstable-v1.h>
#include <xdg-shell.h>
#if defined(HAVE_XDG_TOPLEVEL_ICON)
#include <xdg-toplevel-icon-v1.h>
#endif
#include <fcft/fcft.h>
#include <tllist.h>
@ -443,6 +447,10 @@ struct wayland {
struct wp_single_pixel_buffer_manager_v1 *single_pixel_manager;
#if defined(HAVE_XDG_TOPLEVEL_ICON)
struct xdg_toplevel_icon_manager_v1 *toplevel_icon_manager;
#endif
bool presentation_timings;
struct wp_presentation *presentation;
uint32_t presentation_clock_id;