- DLOG("floating child at (%d,%d) with %d x %d\n", child->rect.x, child->rect.y, child->rect.width, child->rect.height);
+ /* Don’t render floating windows when there is a fullscreen window
+ * on that workspace. Necessary to make floating fullscreen work
+ * correctly (ticket #564). */
+ if (fullscreen != NULL) {
+ Con *floating_child = con_descend_focused(child);
+ /* Exception to the above rule: smart
+ * popup_during_fullscreen handling (popups belonging to
+ * the fullscreen app will be rendered). */
+ if (floating_child->window == NULL ||
+ fullscreen->window == NULL ||
+ floating_child->window->transient_for != fullscreen->window->id)
+ continue;
+ else {
+ DLOG("Rendering floating child even though in fullscreen mode: "
+ "floating->transient_for (0x%08x) == fullscreen->id (0x%08x)\n",
+ floating_child->window->transient_for, fullscreen->window->id);
+ }
+ }
+ DLOG("floating child at (%d,%d) with %d x %d\n",
+ child->rect.x, child->rect.y, child->rect.width, child->rect.height);