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,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,
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user