Merge branch 'fix-popup-during-fullscreen'

This commit is contained in:
Michael Stapelberg 2015-01-17 18:20:04 +01:00
commit f13fa1e37a
1 changed files with 13 additions and 3 deletions

View File

@ -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