<div dir="ltr"><div><div>Hi folks,<br><br></div>Any news on this one ? (<a href="https://patchwork.freedesktop.org/patch/46001/">https://patchwork.freedesktop.org/patch/46001/</a>)<br><br></div>Just tried, the problem still shows in latest master (if you fullscreen weston-terminal with [F11], and then minimize wih right-click -> "Minimize", the screen stays black).<br><br>If the implementation not seeming optimal is the root cause, I really think it is the best we can achieve with a few lines and while keeping the existing model. I am totally open to suggestions, though.<br><br>---------------------------------<br>diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c<br>index f7c928e..073f187 100644<br>--- a/desktop-shell/shell.c<br>+++ b/desktop-shell/shell.c<br>@@ -2667,6 +2667,11 @@  set_minimized(struct weston_surface *surface)<br>     weston_layer_entry_remove(&view->layer_link);<br>     weston_layer_entry_insert(&shsurf->shell->minimized_layer.view_list, &view->layer_link);<br> <br>+    /* if this surface if fullscreen, we temporarily disable fullscreen<br>+     * mode and reposition it to its previous x,y coordinates */<br>+    if (shsurf->state.fullscreen)<br>+        unset_fullscreen(shsurf);<br>+<br>     drop_focus_state(shsurf->shell, current_ws, view->surface);<br>     wl_list_for_each(seat, &shsurf->shell->compositor->seat_list, link) {<br>         if (!seat->keyboard)<br>@@ -6016,8 +6021,14 @@  switcher_next(struct switcher *switcher)<br>         view->alpha = 1.0;<br> <br>     shsurf = get_shell_surface(switcher->current);<br>-    if (shsurf && shsurf->state.fullscreen)<br>-        shsurf->fullscreen.black_view->alpha = 1.0;<br>+    if (shsurf && shsurf->state.fullscreen) {<br>+        /* A fullscreen surface may not be centered anymore<br>+                 * if unset_fullscreen() was called on it, e.g.<br>+                 * when minimizing it. Make sure it is again. */<br>+        center_on_output(shsurf->view, shsurf->fullscreen_output);<br>+        if (shsurf->fullscreen.black_view)<br>+            shsurf->fullscreen.black_view->alpha = 1.0;<br>+    }<br> }<br> <br> static void<br></div>