diff --git a/src/main.rs b/src/main.rs index faa683c..d222f7e 100644 --- a/src/main.rs +++ b/src/main.rs @@ -505,6 +505,11 @@ impl Application for App { return self.hide(); } Msg::ActivateWorkspace(workspace_handle) => { + if let Some(workspace) = self.workspace_for_handle(&workspace_handle) { + if workspace.is_active { + return self.hide(); + } + } self.send_wayland_cmd(backend::Cmd::ActivateWorkspace(workspace_handle)); } Msg::ActivateToplevel(toplevel_handle) => { diff --git a/src/view/mod.rs b/src/view/mod.rs index 0873cc3..0526a39 100644 --- a/src/view/mod.rs +++ b/src/view/mod.rs @@ -359,14 +359,17 @@ fn toplevel_previews<'a>( .map(|t| toplevel_previews_entry(t, output, drag_toplevel == Some(&t.handle))) .collect(); //row(entries) - widget::container(crate::widgets::toplevels(entries)) - .align_x(iced::alignment::Horizontal::Center) - .width(width) - .height(height) - //.spacing(16) - .padding(12) - //.align_items(iced::Alignment::Center) - .into() + widget::mouse_area( + widget::container(crate::widgets::toplevels(entries)) + .align_x(iced::alignment::Horizontal::Center) + .width(width) + .height(height) + //.spacing(16) + .padding(12), + ) + .on_press(Msg::Close) + //.align_items(iced::Alignment::Center) + .into() } fn bg_element<'a>(