autocommit 2022-04-10 01:35:15 CEST
This commit is contained in:
parent
21e2216ce5
commit
befd5e99b2
22 changed files with 280 additions and 114 deletions
|
|
@ -299,6 +299,13 @@ impl XdgSurface {
|
|||
popup.update_absolute_position();
|
||||
}
|
||||
}
|
||||
|
||||
fn set_visible(&self, visible: bool) {
|
||||
self.surface.set_visible(visible);
|
||||
for popup in self.popups.lock().values() {
|
||||
popup.set_visible(visible);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
object_base! {
|
||||
|
|
|
|||
|
|
@ -293,7 +293,7 @@ impl Node for XdgPopup {
|
|||
}
|
||||
|
||||
fn set_visible(&self, visible: bool) {
|
||||
self.xdg.surface.set_visible(visible);
|
||||
self.xdg.set_visible(visible);
|
||||
self.xdg.seat_state.set_visible(self, visible);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -144,9 +144,8 @@ impl XdgToplevel {
|
|||
}
|
||||
|
||||
fn send_close(&self) {
|
||||
self.xdg.surface.client.event(Close {
|
||||
self_id: self.id,
|
||||
});
|
||||
self.xdg.surface.client.event(Close { self_id: self.id });
|
||||
self.xdg.surface.client.flush();
|
||||
}
|
||||
|
||||
fn send_configure(&self, width: i32, height: i32) {
|
||||
|
|
@ -366,6 +365,10 @@ impl Node for XdgToplevel {
|
|||
self.node_id.into()
|
||||
}
|
||||
|
||||
fn close(&self) {
|
||||
self.send_close();
|
||||
}
|
||||
|
||||
fn seat_state(&self) -> &NodeSeatState {
|
||||
&self.xdg.seat_state
|
||||
}
|
||||
|
|
@ -395,7 +398,7 @@ impl Node for XdgToplevel {
|
|||
}
|
||||
|
||||
fn set_visible(&self, visible: bool) {
|
||||
self.xdg.surface.set_visible(visible);
|
||||
self.xdg.set_visible(visible);
|
||||
self.xdg.seat_state.set_visible(self, visible);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -270,7 +270,8 @@ impl Xwindow {
|
|||
}
|
||||
|
||||
pub fn map_status_changed(self: &Rc<Self>) {
|
||||
match self.map_change() {
|
||||
let map_change = self.map_change();
|
||||
match map_change {
|
||||
Change::None => return,
|
||||
Change::Unmap => self.destroy_node(true),
|
||||
Change::Map if self.data.info.override_redirect.get() => {
|
||||
|
|
@ -300,6 +301,11 @@ impl Xwindow {
|
|||
self.data.title_changed();
|
||||
}
|
||||
}
|
||||
match map_change {
|
||||
Change::Unmap => self.set_visible(false),
|
||||
Change::Map => self.set_visible(true),
|
||||
Change::None => {}
|
||||
}
|
||||
self.data.state.tree_changed();
|
||||
}
|
||||
}
|
||||
|
|
@ -329,6 +335,10 @@ impl Node for Xwindow {
|
|||
self.id.into()
|
||||
}
|
||||
|
||||
fn close(&self) {
|
||||
self.events.push(XWaylandEvent::Close(self.data.clone()));
|
||||
}
|
||||
|
||||
fn visible(&self) -> bool {
|
||||
self.surface.visible.get()
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue