mod compositor; mod xdg_shell; // // Wl Seat use smithay::input::{SeatHandler, SeatState}; use smithay::reexports::wayland_server::protocol::wl_surface::WlSurface; use smithay::wayland::data_device::{ ClientDndGrabHandler, DataDeviceHandler, ServerDndGrabHandler, }; use smithay::{delegate_data_device, delegate_output, delegate_seat}; use crate::Smallvil; impl SeatHandler for Smallvil { type KeyboardFocus = WlSurface; type PointerFocus = WlSurface; fn seat_state(&mut self) -> &mut SeatState { &mut self.seat_state } fn cursor_image( &mut self, _seat: &smithay::input::Seat, _image: smithay::input::pointer::CursorImageStatus, ) { } fn focus_changed(&mut self, _seat: &smithay::input::Seat, _focused: Option<&WlSurface>) {} } delegate_seat!(Smallvil); // // Wl Data Device // impl DataDeviceHandler for Smallvil { type SelectionUserData = (); fn data_device_state(&self) -> &smithay::wayland::data_device::DataDeviceState { &self.data_device_state } } impl ClientDndGrabHandler for Smallvil {} impl ServerDndGrabHandler for Smallvil {} delegate_data_device!(Smallvil); // // Wl Output & Xdg Output // delegate_output!(Smallvil);