wl_listener(3) Wayland wl_listener(3) NAME wl_listener - A single listener for Wayland signals. SYNOPSIS #include Data Fields struct wl_list link wl_notify_func_t notify Detailed Description A single listener for Wayland signals. wl_listener provides the means to listen for wl_signal notifications. Many Wayland objects use wl_listener for notification of significant events like object destruction. Clients should create wl_listener objects manually and can register them as listeners to signals using #wl_signal_add, assuming the signal is directly accessible. For opaque structs like wl_event_loop, adding a listener should be done through provided accessor methods. A listener can only listen to one signal at a time. struct wl_listener your_listener; your_listener.notify = your_callback_method; // Direct access wl_signal_add(&some_object->destroy_signal, &your_listener); // Accessor access wl_event_loop *loop = ...; wl_event_loop_add_destroy_listener(loop, &your_listener); If the listener is part of a larger struct, wl_container_of can be used to retrieve a pointer to it: void your_listener(struct wl_listener *listener, void *data) { struct your_data *data; your_data = wl_container_of(listener, data, your_member_name); } If you need to remove a listener from a signal, use wl_list_remove(). wl_list_remove(&your_listener.link); See also wl_signal Field Documentation struct wl_list wl_listener::link wl_notify_func_t wl_listener::notify Author Generated automatically by Doxygen for Wayland from the source code. Version 1.22.0 Thu Apr 6 2023 wl_listener(3)