Handle toplevel info updates

This commit is contained in:
Ian Douglas Scott 2023-02-10 13:41:08 -08:00
parent b5931cd240
commit 4ca7c9fb56
4 changed files with 17 additions and 3 deletions

View file

@ -329,6 +329,13 @@ impl Application for App {
img: None,
});
}
wayland::Event::UpdateToplevel(handle, info) => {
if let Some(toplevel) =
self.toplevels.iter_mut().find(|x| x.handle == handle)
{
toplevel.info = info;
}
}
wayland::Event::CloseToplevel(handle) => {
if let Some(idx) = self.toplevels.iter().position(|x| x.handle == handle) {
self.toplevels.remove(idx);
@ -341,7 +348,7 @@ impl Application for App {
}
wayland::Event::ToplevelCapture(handle, image) => {
if let Some(toplevel) = self.toplevel_for_handle_mut(&handle) {
println!("Got toplevel image!");
//println!("Got toplevel image!");
toplevel.img = Some(image);
}
}

View file

@ -67,6 +67,10 @@ pub enum Event {
zcosmic_toplevel_handle_v1::ZcosmicToplevelHandleV1,
ToplevelInfo,
),
UpdateToplevel(
zcosmic_toplevel_handle_v1::ZcosmicToplevelHandleV1,
ToplevelInfo,
),
CloseToplevel(zcosmic_toplevel_handle_v1::ZcosmicToplevelHandleV1),
ToplevelCapture(
zcosmic_toplevel_handle_v1::ZcosmicToplevelHandleV1,

View file

@ -93,6 +93,8 @@ impl ScreencopyHandler for AppData {
) {
// TODO
println!("Failed");
let capture = Capture::for_session(session).unwrap();
capture.cancel();
session.destroy();
}
}

View file

@ -32,9 +32,10 @@ impl ToplevelInfoHandler for AppData {
&mut self,
_conn: &Connection,
_qh: &QueueHandle<Self>,
_toplevel: &zcosmic_toplevel_handle_v1::ZcosmicToplevelHandleV1,
toplevel: &zcosmic_toplevel_handle_v1::ZcosmicToplevelHandleV1,
) {
// TODO
let info = self.toplevel_info_state.info(toplevel).unwrap();
self.send_event(Event::UpdateToplevel(toplevel.clone(), info.clone()));
}
fn toplevel_closed(