Bugfix: render floating windows during global fullscreen (Thanks dmurph, Mats)
fixes #1393
This commit is contained in:
parent
fa41ad7e21
commit
8b96bb0298
10
src/render.c
10
src/render.c
|
@ -210,8 +210,16 @@ void render_con(Con *con, bool render_fullscreen) {
|
||||||
fullscreen->rect = rect;
|
fullscreen->rect = rect;
|
||||||
x_raise_con(fullscreen);
|
x_raise_con(fullscreen);
|
||||||
render_con(fullscreen, true);
|
render_con(fullscreen, true);
|
||||||
|
/* Fullscreen containers are either global (underneath the CT_ROOT
|
||||||
|
* container) or per-output (underneath the CT_CONTENT container). For
|
||||||
|
* global fullscreen containers, we cannot abort rendering here yet,
|
||||||
|
* because the floating windows (with popup_during_fullscreen smart)
|
||||||
|
* have not yet been rendered (see the CT_ROOT code path below). See
|
||||||
|
* also http://bugs.i3wm.org/1393 */
|
||||||
|
if (con->type != CT_ROOT) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* find the height for the decorations */
|
/* find the height for the decorations */
|
||||||
int deco_height = render_deco_height();
|
int deco_height = render_deco_height();
|
||||||
|
@ -247,9 +255,11 @@ void render_con(Con *con, bool render_fullscreen) {
|
||||||
render_l_output(con);
|
render_l_output(con);
|
||||||
} else if (con->type == CT_ROOT) {
|
} else if (con->type == CT_ROOT) {
|
||||||
Con *output;
|
Con *output;
|
||||||
|
if (!fullscreen) {
|
||||||
TAILQ_FOREACH (output, &(con->nodes_head), nodes) {
|
TAILQ_FOREACH (output, &(con->nodes_head), nodes) {
|
||||||
render_con(output, false);
|
render_con(output, false);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* We need to render floating windows after rendering all outputs’
|
/* We need to render floating windows after rendering all outputs’
|
||||||
* tiling windows because they need to be on top of *every* output at
|
* tiling windows because they need to be on top of *every* output at
|
||||||
|
|
Loading…
Reference in New Issue