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,7 +210,15 @@ 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);
return; /* 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;
}
} }
/* find the height for the decorations */ /* find the height for the decorations */
@ -247,8 +255,10 @@ 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;
TAILQ_FOREACH (output, &(con->nodes_head), nodes) { if (!fullscreen) {
render_con(output, false); TAILQ_FOREACH (output, &(con->nodes_head), nodes) {
render_con(output, false);
}
} }
/* We need to render floating windows after rendering all outputs /* We need to render floating windows after rendering all outputs