parent
402daf30b7
commit
61b8a62132
21
src/render.c
21
src/render.c
|
@ -236,6 +236,27 @@ void render_con(Con *con, bool render_fullscreen) {
|
||||||
Con *content = output_get_content(output);
|
Con *content = output_get_content(output);
|
||||||
Con *workspace = TAILQ_FIRST(&(content->focus_head));
|
Con *workspace = TAILQ_FIRST(&(content->focus_head));
|
||||||
|
|
||||||
|
/* Check for (floating!) fullscreen nodes */
|
||||||
|
/* XXX: This code duplication is unfortunate. Keep in mind to fix
|
||||||
|
* this when we clean up the whole render.c */
|
||||||
|
Con *fullscreen = NULL;
|
||||||
|
fullscreen = con_get_fullscreen_con(workspace, CF_OUTPUT);
|
||||||
|
if (fullscreen) {
|
||||||
|
/* Either the fullscreen window is inside the floating
|
||||||
|
* container, then we need to render and raise it now… */
|
||||||
|
if (con_inside_floating(fullscreen)) {
|
||||||
|
fullscreen->rect = output->rect;
|
||||||
|
x_raise_con(fullscreen);
|
||||||
|
render_con(fullscreen, true);
|
||||||
|
continue;
|
||||||
|
} else {
|
||||||
|
/* …or it’s a tiling window, in which case the floating
|
||||||
|
* windows should not overlap it, so we skip rendering this
|
||||||
|
* output. */
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Con *child;
|
Con *child;
|
||||||
TAILQ_FOREACH(child, &(workspace->floating_head), floating_windows) {
|
TAILQ_FOREACH(child, &(workspace->floating_head), floating_windows) {
|
||||||
DLOG("floating child at (%d,%d) with %d x %d\n", child->rect.x, child->rect.y, child->rect.width, child->rect.height);
|
DLOG("floating child at (%d,%d) with %d x %d\n", child->rect.x, child->rect.y, child->rect.width, child->rect.height);
|
||||||
|
|
Loading…
Reference in New Issue