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,53 +82,49 @@ 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(
crate::wayland::Message::SetToplevelVisualActive {
toplevel: self.toplevel().clone(),
active: focused,
},
);
}
fn pointer_motion(&self, surface: &SurfaceId, position: Vector2<f32>) {
if let Some(surface) = self.surface_from_id(surface.clone()) {
let _ = self let _ = self
.toplevel() .toplevel()
.surface() .surface()
.message_sink .message_sink
.send(crate::wayland::Message::Seat( .send(Message::SetToplevelVisualActive {
toplevel: self.toplevel().clone(),
active: focused,
});
}
fn pointer_motion(&self, surface: &SurfaceId, position: Vector2<f32>) {
if let Some(surface) = self.surface_from_id(surface.clone()) {
let _ = self.toplevel().surface().message_sink.send(Message::Seat(
crate::wayland::core::seat::SeatMessage::PointerMotion { surface, position }, crate::wayland::core::seat::SeatMessage::PointerMotion { surface, position },
)); ));
} }
@@ -136,11 +132,7 @@ impl Backend for XdgBackend {
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()
.surface()
.message_sink
.send(crate::wayland::Message::Seat(
crate::wayland::core::seat::SeatMessage::PointerButton { crate::wayland::core::seat::SeatMessage::PointerButton {
surface, surface,
button, button,
@@ -157,11 +149,7 @@ 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()
.surface()
.message_sink
.send(crate::wayland::Message::Seat(
crate::wayland::core::seat::SeatMessage::PointerScroll { crate::wayland::core::seat::SeatMessage::PointerScroll {
surface, surface,
scroll_distance, scroll_distance,
@@ -178,11 +166,7 @@ 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()
.surface()
.message_sink
.send(crate::wayland::Message::Seat(
crate::wayland::core::seat::SeatMessage::KeyboardKey { crate::wayland::core::seat::SeatMessage::KeyboardKey {
surface, surface,
keymap_id, keymap_id,
@@ -201,11 +185,7 @@ 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()
.surface()
.message_sink
.send(crate::wayland::Message::Seat(
crate::wayland::core::seat::SeatMessage::TouchDown { crate::wayland::core::seat::SeatMessage::TouchDown {
surface, surface,
id, id,
@@ -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,
)); ));
} }