Handle toplevel info updates
This commit is contained in:
parent
b5931cd240
commit
4ca7c9fb56
4 changed files with 17 additions and 3 deletions
|
|
@ -329,6 +329,13 @@ impl Application for App {
|
||||||
img: None,
|
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) => {
|
wayland::Event::CloseToplevel(handle) => {
|
||||||
if let Some(idx) = self.toplevels.iter().position(|x| x.handle == handle) {
|
if let Some(idx) = self.toplevels.iter().position(|x| x.handle == handle) {
|
||||||
self.toplevels.remove(idx);
|
self.toplevels.remove(idx);
|
||||||
|
|
@ -341,7 +348,7 @@ impl Application for App {
|
||||||
}
|
}
|
||||||
wayland::Event::ToplevelCapture(handle, image) => {
|
wayland::Event::ToplevelCapture(handle, image) => {
|
||||||
if let Some(toplevel) = self.toplevel_for_handle_mut(&handle) {
|
if let Some(toplevel) = self.toplevel_for_handle_mut(&handle) {
|
||||||
println!("Got toplevel image!");
|
//println!("Got toplevel image!");
|
||||||
toplevel.img = Some(image);
|
toplevel.img = Some(image);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -67,6 +67,10 @@ pub enum Event {
|
||||||
zcosmic_toplevel_handle_v1::ZcosmicToplevelHandleV1,
|
zcosmic_toplevel_handle_v1::ZcosmicToplevelHandleV1,
|
||||||
ToplevelInfo,
|
ToplevelInfo,
|
||||||
),
|
),
|
||||||
|
UpdateToplevel(
|
||||||
|
zcosmic_toplevel_handle_v1::ZcosmicToplevelHandleV1,
|
||||||
|
ToplevelInfo,
|
||||||
|
),
|
||||||
CloseToplevel(zcosmic_toplevel_handle_v1::ZcosmicToplevelHandleV1),
|
CloseToplevel(zcosmic_toplevel_handle_v1::ZcosmicToplevelHandleV1),
|
||||||
ToplevelCapture(
|
ToplevelCapture(
|
||||||
zcosmic_toplevel_handle_v1::ZcosmicToplevelHandleV1,
|
zcosmic_toplevel_handle_v1::ZcosmicToplevelHandleV1,
|
||||||
|
|
|
||||||
|
|
@ -93,6 +93,8 @@ impl ScreencopyHandler for AppData {
|
||||||
) {
|
) {
|
||||||
// TODO
|
// TODO
|
||||||
println!("Failed");
|
println!("Failed");
|
||||||
|
let capture = Capture::for_session(session).unwrap();
|
||||||
|
capture.cancel();
|
||||||
session.destroy();
|
session.destroy();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -32,9 +32,10 @@ impl ToplevelInfoHandler for AppData {
|
||||||
&mut self,
|
&mut self,
|
||||||
_conn: &Connection,
|
_conn: &Connection,
|
||||||
_qh: &QueueHandle<Self>,
|
_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(
|
fn toplevel_closed(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue