refactor(wayland/xdg): cleanup

This commit is contained in:
Nova
2025-08-02 17:10:16 -07:00
parent 2d91ae6162
commit b26d82c991

View File

@@ -5,7 +5,7 @@ use crate::{
drawable::model::ModelPart, drawable::model::ModelPart,
items::panel::{Backend, Geometry, PanelItemInitData, SurfaceId, ToplevelInfo}, items::panel::{Backend, Geometry, PanelItemInitData, SurfaceId, ToplevelInfo},
}, },
wayland::core::surface::Surface, wayland::{Message, core::surface::Surface},
}; };
use mint::Vector2; use mint::Vector2;
use std::sync::Arc; use std::sync::Arc;
@@ -82,71 +82,63 @@ impl Backend for XdgBackend {
} }
fn close_toplevel(&self) { fn close_toplevel(&self) {
let _ = let _ = self
self.toplevel() .toplevel()
.surface() .surface()
.message_sink .message_sink
.send(crate::wayland::Message::CloseToplevel( .send(Message::CloseToplevel(self.toplevel().clone()));
self.toplevel().clone(),
));
} }
fn auto_size_toplevel(&self) { fn auto_size_toplevel(&self) {
let _ = let _ = self
self.toplevel() .toplevel()
.surface() .surface()
.message_sink .message_sink
.send(crate::wayland::Message::ResizeToplevel { .send(Message::ResizeToplevel {
toplevel: self.toplevel().clone(), toplevel: self.toplevel().clone(),
size: None, size: None,
}); });
} }
fn set_toplevel_size(&self, size: Vector2<u32>) { fn set_toplevel_size(&self, size: Vector2<u32>) {
let _ = let _ = self
self.toplevel() .toplevel()
.surface() .surface()
.message_sink .message_sink
.send(crate::wayland::Message::ResizeToplevel { .send(Message::ResizeToplevel {
toplevel: self.toplevel().clone(), toplevel: self.toplevel().clone(),
size: Some(size), size: Some(size),
}); });
} }
fn set_toplevel_focused_visuals(&self, focused: bool) { fn set_toplevel_focused_visuals(&self, focused: bool) {
let _ = self.toplevel().surface().message_sink.send( let _ = self
crate::wayland::Message::SetToplevelVisualActive { .toplevel()
.surface()
.message_sink
.send(Message::SetToplevelVisualActive {
toplevel: self.toplevel().clone(), toplevel: self.toplevel().clone(),
active: focused, active: focused,
}, });
);
} }
fn pointer_motion(&self, surface: &SurfaceId, position: Vector2<f32>) { fn pointer_motion(&self, surface: &SurfaceId, position: Vector2<f32>) {
if let Some(surface) = self.surface_from_id(surface.clone()) { if let Some(surface) = self.surface_from_id(surface.clone()) {
let _ = self let _ = self.toplevel().surface().message_sink.send(Message::Seat(
.toplevel() crate::wayland::core::seat::SeatMessage::PointerMotion { surface, position },
.surface() ));
.message_sink
.send(crate::wayland::Message::Seat(
crate::wayland::core::seat::SeatMessage::PointerMotion { surface, position },
));
} }
} }
fn pointer_button(&self, surface: &SurfaceId, button: u32, pressed: bool) { fn pointer_button(&self, surface: &SurfaceId, button: u32, pressed: bool) {
if let Some(surface) = self.surface_from_id(surface.clone()) { if let Some(surface) = self.surface_from_id(surface.clone()) {
let _ = self let _ = self.toplevel().surface().message_sink.send(Message::Seat(
.toplevel() crate::wayland::core::seat::SeatMessage::PointerButton {
.surface() surface,
.message_sink button,
.send(crate::wayland::Message::Seat( pressed,
crate::wayland::core::seat::SeatMessage::PointerButton { },
surface, ));
button,
pressed,
},
));
} }
} }
@@ -157,17 +149,13 @@ impl Backend for XdgBackend {
scroll_steps: Option<Vector2<f32>>, scroll_steps: Option<Vector2<f32>>,
) { ) {
if let Some(surface) = self.surface_from_id(surface.clone()) { if let Some(surface) = self.surface_from_id(surface.clone()) {
let _ = self let _ = self.toplevel().surface().message_sink.send(Message::Seat(
.toplevel() crate::wayland::core::seat::SeatMessage::PointerScroll {
.surface() surface,
.message_sink scroll_distance,
.send(crate::wayland::Message::Seat( scroll_steps,
crate::wayland::core::seat::SeatMessage::PointerScroll { },
surface, ));
scroll_distance,
scroll_steps,
},
));
} }
} }
@@ -178,18 +166,14 @@ impl Backend for XdgBackend {
if pressed { "pressed" } else { "released" } if pressed { "pressed" } else { "released" }
); );
if let Some(surface) = self.surface_from_id(surface.clone()) { if let Some(surface) = self.surface_from_id(surface.clone()) {
let _ = self let _ = self.toplevel().surface().message_sink.send(Message::Seat(
.toplevel() crate::wayland::core::seat::SeatMessage::KeyboardKey {
.surface() surface,
.message_sink keymap_id,
.send(crate::wayland::Message::Seat( key,
crate::wayland::core::seat::SeatMessage::KeyboardKey { pressed,
surface, },
keymap_id, ));
key,
pressed,
},
));
} }
} }
@@ -201,17 +185,13 @@ impl Backend for XdgBackend {
position.y position.y
); );
if let Some(surface) = self.surface_from_id(surface.clone()) { if let Some(surface) = self.surface_from_id(surface.clone()) {
let _ = self let _ = self.toplevel().surface().message_sink.send(Message::Seat(
.toplevel() crate::wayland::core::seat::SeatMessage::TouchDown {
.surface() surface,
.message_sink id,
.send(crate::wayland::Message::Seat( position,
crate::wayland::core::seat::SeatMessage::TouchDown { },
surface, ));
id,
position,
},
));
} }
} }
@@ -223,7 +203,7 @@ impl Backend for XdgBackend {
position.y position.y
); );
let surface = self.toplevel().surface(); let surface = self.toplevel().surface();
let _ = surface.message_sink.send(crate::wayland::Message::Seat( let _ = surface.message_sink.send(Message::Seat(
crate::wayland::core::seat::SeatMessage::TouchMove { id, position }, crate::wayland::core::seat::SeatMessage::TouchMove { id, position },
)); ));
} }
@@ -231,7 +211,7 @@ impl Backend for XdgBackend {
fn touch_up(&self, id: u32) { fn touch_up(&self, id: u32) {
tracing::debug!("Backend: Touch up {}", id); tracing::debug!("Backend: Touch up {}", id);
let surface = self.toplevel().surface(); let surface = self.toplevel().surface();
let _ = surface.message_sink.send(crate::wayland::Message::Seat( let _ = surface.message_sink.send(Message::Seat(
crate::wayland::core::seat::SeatMessage::TouchUp { id }, crate::wayland::core::seat::SeatMessage::TouchUp { id },
)); ));
} }
@@ -239,7 +219,7 @@ impl Backend for XdgBackend {
fn reset_input(&self) { fn reset_input(&self) {
tracing::debug!("Backend: Reset input"); tracing::debug!("Backend: Reset input");
let surface = self.toplevel().surface(); let surface = self.toplevel().surface();
let _ = surface.message_sink.send(crate::wayland::Message::Seat( let _ = surface.message_sink.send(Message::Seat(
crate::wayland::core::seat::SeatMessage::Reset, crate::wayland::core::seat::SeatMessage::Reset,
)); ));
} }