fullscreen = con_get_fullscreen_con(workspace, CF_OUTPUT);
}
if (fullscreen != NULL) {
- LOG("Not entering fullscreen mode, container (%p/%s) "
- "already is in fullscreen mode\n",
+ /* Disable fullscreen for the currently fullscreened
+ * container and enable it for the one the user wants
+ * to have in fullscreen mode. */
+ LOG("Disabling fullscreen for (%p/%s) upon user request\n",
fullscreen, fullscreen->name);
- goto update_netwm_state;
+ fullscreen->fullscreen_mode = CF_NONE;
}
/* 2: enable fullscreen */
con->fullscreen_mode = CF_NONE;
}
-update_netwm_state:
DLOG("mode now: %d\n", con->fullscreen_mode);
/* update _NET_WM_STATE if this container has a window */
ok(abs($wrect->{width} - $orect->{width}) < $threshold, 'width coordinate fullscreen');
ok(abs($wrect->{height} - $orect->{height}) < $threshold, 'height coordinate fullscreen');
-###############################################################################
-# test if setting two windows in fullscreen mode at the same time does not work
-###############################################################################
+################################################################################
+# Verify that when one window wants to go into fullscreen mode, the old
+# fullscreen window will be replaced.
+################################################################################
$original_rect = X11::XCB::Rect->new(x => 0, y => 0, width => 30, height => 30);
my $swindow = open_window(
$window->fullscreen(0);
sync_with_i3;
-is(fullscreen_windows(), 0, 'amount of fullscreen windows');
+is(fullscreen_windows(), 1, 'amount of fullscreen windows');
ok($swindow->mapped, 'window mapped after other fullscreen ended');