e.g., open an editor from a terminal, minimize it, then hit ^C in the terminal
simply don't unmap xdg or xwayland views if they are not currently marked as mapped
static void
xdg_toplevel_view_unmap(struct view *view)
{
- view->mapped = false;
- damage_all_outputs(view->server);
- wl_list_remove(&view->commit.link);
- wl_list_remove(&view->new_subsurface.link);
- desktop_focus_topmost_mapped_view(view->server);
+ if (view->mapped) {
+ view->mapped = false;
+ damage_all_outputs(view->server);
+ wl_list_remove(&view->commit.link);
+ wl_list_remove(&view->new_subsurface.link);
+ desktop_focus_topmost_mapped_view(view->server);
+ }
}
static const struct view_impl xdg_toplevel_view_impl = {
static void
unmap(struct view *view)
{
- view->mapped = false;
- damage_all_outputs(view->server);
- wl_list_remove(&view->commit.link);
- desktop_focus_topmost_mapped_view(view->server);
+ if(view->mapped) {
+ view->mapped = false;
+ damage_all_outputs(view->server);
+ wl_list_remove(&view->commit.link);
+ desktop_focus_topmost_mapped_view(view->server);
+ }
}
static void