diff --git a/src/ifs/zwlr_foreign_toplevel_handle_v1.rs b/src/ifs/zwlr_foreign_toplevel_handle_v1.rs index d08ff50e..de20a7b0 100644 --- a/src/ifs/zwlr_foreign_toplevel_handle_v1.rs +++ b/src/ifs/zwlr_foreign_toplevel_handle_v1.rs @@ -63,7 +63,10 @@ impl ZwlrForeignToplevelHandleV1RequestHandler for ZwlrForeignToplevelHandleV1 { fn activate(&self, req: Activate, _slf: &Rc) -> Result<(), Self::Error> { if let Some(toplevel) = self.toplevel.get() { if !toplevel.node_visible() { - return Ok(()); + toplevel.clone().node_make_visible(); + if !toplevel.node_visible() { + return Ok(()); + } } let seat = self.client.lookup(req.seat)?; toplevel.node_do_focus(&seat.global, Direction::Unspecified);