diff --git a/src/view.c b/src/view.c index e17a883c..89743ecd 100644 --- a/src/view.c +++ b/src/view.c @@ -2436,7 +2436,18 @@ static void handle_map(struct wl_listener *listener, void *data) { struct view *view = wl_container_of(listener, view, mappable.map); - view->impl->map(view); + if (view->minimized) { + /* + * The view->impl functions do not directly support + * mapping a view while minimized. Instead, mark it as + * not minimized, map it, and then minimize it again. + */ + view->minimized = false; + view->impl->map(view); + view_minimize(view, true); + } else { + view->impl->map(view); + } } static void