aboutsummaryrefslogtreecommitdiffstats
path: root/sway/desktop/xdg_shell_v6.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/desktop/xdg_shell_v6.c')
-rw-r--r--sway/desktop/xdg_shell_v6.c16
1 files changed, 15 insertions, 1 deletions
diff --git a/sway/desktop/xdg_shell_v6.c b/sway/desktop/xdg_shell_v6.c
index 7ff4c4de..5ac589cf 100644
--- a/sway/desktop/xdg_shell_v6.c
+++ b/sway/desktop/xdg_shell_v6.c
@@ -339,6 +339,18 @@ static void handle_request_fullscreen(struct wl_listener *listener, void *data)
339 return; 339 return;
340 } 340 }
341 341
342 if (e->fullscreen && e->output && e->output->data) {
343 struct sway_output *output = e->output->data;
344 struct sway_workspace *ws = output_get_active_workspace(output);
345 if (ws && !container_is_scratchpad_hidden(view->container)) {
346 if (container_is_floating(view->container)) {
347 workspace_add_floating(ws, view->container);
348 } else {
349 workspace_add_tiling(ws, view->container);
350 }
351 }
352 }
353
342 container_set_fullscreen(view->container, e->fullscreen); 354 container_set_fullscreen(view->container, e->fullscreen);
343 355
344 arrange_root(); 356 arrange_root();
@@ -411,7 +423,9 @@ static void handle_map(struct wl_listener *listener, void *data) {
411 == WLR_SERVER_DECORATION_MANAGER_MODE_CLIENT; 423 == WLR_SERVER_DECORATION_MANAGER_MODE_CLIENT;
412 424
413 view_map(view, view->wlr_xdg_surface_v6->surface, 425 view_map(view, view->wlr_xdg_surface_v6->surface,
414 xdg_surface->toplevel->client_pending.fullscreen, csd); 426 xdg_surface->toplevel->client_pending.fullscreen,
427 xdg_surface->toplevel->client_pending.fullscreen_output,
428 csd);
415 429
416 transaction_commit_dirty(); 430 transaction_commit_dirty();
417 431