[PATCH weston 11/11] shell: Allow changing workspace when output has no fullscreen surface

Jonas Ådahl jadahl at gmail.com
Sat Jan 26 06:33:41 PST 2013


Signed-off-by: Jonas Ådahl <jadahl at gmail.com>
---
 src/shell.c |    9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/shell.c b/src/shell.c
index af45347..e4f8a28 100644
--- a/src/shell.c
+++ b/src/shell.c
@@ -1015,13 +1015,16 @@ change_workspace(struct desktop_shell *shell,
 {
 	struct workspace *from;
 	struct workspace *to;
+	struct weston_surface *surface;
 
 	if (index == container->current)
 		return;
 
-	/* Don't change workspace when there is any fullscreen surfaces. */
-	if (!wl_list_empty(&shell->fullscreen_layer.surface_list))
-		return;
+	wl_list_for_each(surface,
+			 &shell->fullscreen_layer.surface_list,
+			 layer_link)
+		if (surface->output == container->output)
+			return;
 
 	from = workspace_container_get_current(container);
 	to = workspace_container_get(container, index);
-- 
1.7.10.4



More information about the wayland-devel mailing list