Update smithay, with cursor/selection changes

We'll probably want to add support for `cursor-shape-v1`. Not sure about
`wlr-data-control-unstable-v1`. But this just updates to work with the
latest smithay commit for new.
This commit is contained in:
Ian Douglas Scott 2023-10-10 13:28:30 -07:00
parent c32b8d3cb7
commit 111eb4edf4
12 changed files with 109 additions and 186 deletions

View file

@ -7,7 +7,7 @@ use crate::{
use smithay::{
desktop::utils::bbox_from_surface_tree,
input::{
pointer::{CursorImageAttributes, CursorImageStatus},
pointer::{CursorIcon, CursorImageAttributes, CursorImageStatus},
Seat,
},
output::Output,
@ -86,12 +86,12 @@ impl SeatExt for Seat<State> {
let mut cursor_status = cell.borrow_mut();
if let CursorImageStatus::Surface(ref surface) = *cursor_status {
if !surface.alive() {
*cursor_status = CursorImageStatus::Default;
*cursor_status = CursorImageStatus::default_named();
}
}
cursor_status.clone()
})
.unwrap_or(CursorImageStatus::Default);
.unwrap_or(CursorImageStatus::default_named());
match cursor_status {
CursorImageStatus::Surface(surface) => {
@ -111,7 +111,7 @@ impl SeatExt for Seat<State> {
);
Some((buffer_geo, (hotspot.x, hotspot.y).into()))
}
CursorImageStatus::Default => {
CursorImageStatus::Named(CursorIcon::Default) => {
let seat_userdata = self.user_data();
seat_userdata.insert_if_missing(CursorState::default);
let state = seat_userdata.get::<CursorState>().unwrap();
@ -129,6 +129,10 @@ impl SeatExt for Seat<State> {
(frame.xhot as i32, frame.yhot as i32).into(),
))
}
CursorImageStatus::Named(_) => {
// TODO: Handle for `cursor_shape_v1` protocol
None
}
CursorImageStatus::Hidden => None,
}
}