diff --git a/compositor/src/handlers/mod.rs b/compositor/src/handlers/mod.rs index cf17087..610d5f2 100644 --- a/compositor/src/handlers/mod.rs +++ b/compositor/src/handlers/mod.rs @@ -37,6 +37,7 @@ use smithay::{ }, tablet_manager::TabletSeatHandler, xdg_foreign::{XdgForeignHandler, XdgForeignState}, + xdg_toplevel_icon::XdgToplevelIconHandler, }, }; @@ -233,6 +234,8 @@ impl XdgForeignHandler for Ferese { } } +impl XdgToplevelIconHandler for Ferese {} + smithay::delegate_compositor!(Ferese); smithay::delegate_cursor_shape!(Ferese); smithay::delegate_data_device!(Ferese); @@ -257,3 +260,4 @@ smithay::delegate_xdg_activation!(Ferese); smithay::delegate_xdg_decoration!(Ferese); smithay::delegate_xdg_foreign!(Ferese); smithay::delegate_xdg_shell!(Ferese); +smithay::delegate_xdg_toplevel_icon!(Ferese); diff --git a/compositor/src/state.rs b/compositor/src/state.rs index a15cd68..99ee9a0 100644 --- a/compositor/src/state.rs +++ b/compositor/src/state.rs @@ -68,6 +68,7 @@ use smithay::{ viewporter::ViewporterState, xdg_activation::XdgActivationState, xdg_foreign::XdgForeignState, + xdg_toplevel_icon::XdgToplevelIconManager, }, }; @@ -126,6 +127,7 @@ pub struct Ferese { pub xdg_activation_state: XdgActivationState, pub xdg_foreign_state: XdgForeignState, pub xdg_shell_state: XdgShellState, + pub xdg_toplevel_icon_manager: XdgToplevelIconManager, } pub struct RuntimeConfig { @@ -321,6 +323,7 @@ impl Ferese { let layer_shell_state = WlrLayerShellState::new::(&display_handle); let xdg_activation_state = XdgActivationState::new::(&display_handle); let xdg_foreign_state = XdgForeignState::new::(&display_handle); + let xdg_toplevel_icon_manager = XdgToplevelIconManager::new::(&display_handle); let mut seat_state = SeatState::new(); let mut seat = seat_state.new_wl_seat(&display_handle, "ferese-winit"); seat.add_keyboard(Default::default(), 200, 25)?; @@ -388,6 +391,7 @@ impl Ferese { xdg_activation_state, xdg_foreign_state, xdg_shell_state, + xdg_toplevel_icon_manager, }) }