refactor(wayland/xdg): cleanup
This commit is contained in:
@@ -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,
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user