X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Frender.c;h=f996d9641d849bc1cd69f0fe6f93825819505aa6;hb=8fe17407ffff1d0bbd0aa7787b382c882370dd85;hp=0142ae9718f3fbd55771a222d9b08bab5d01ce42;hpb=c4d44187457216693216a54f5ce95b22912ff088;p=i3%2Fi3 diff --git a/src/render.c b/src/render.c index 0142ae97..f996d964 100644 --- a/src/render.c +++ b/src/render.c @@ -70,7 +70,7 @@ static void render_l_output(Con *con) { Con *fullscreen = con_get_fullscreen_con(ws, CF_OUTPUT); if (fullscreen) { fullscreen->rect = con->rect; - x_raise_con(fullscreen, true); + x_raise_con(fullscreen); render_con(fullscreen, true); return; } @@ -110,7 +110,7 @@ static void render_l_output(Con *con) { DLOG("child at (%d, %d) with (%d x %d)\n", child->rect.x, child->rect.y, child->rect.width, child->rect.height); - x_raise_con(child, false); + x_raise_con(child); render_con(child, false); } } @@ -172,13 +172,14 @@ void render_con(Con *con, bool render_fullscreen) { * Ignoring aspect ratio during fullscreen was necessary to fix MPlayer * subtitle rendering, see http://bugs.i3wm.org/594 */ if (!render_fullscreen && - con->proportional_height != 0 && - con->proportional_width != 0) { + con->aspect_ratio > 0.0) { + DLOG("aspect_ratio = %f, current width/height are %d/%d\n", + con->aspect_ratio, inset->width, inset->height); double new_height = inset->height + 1; int new_width = inset->width; while (new_height > inset->height) { - new_height = ((double)con->proportional_height / con->proportional_width) * new_width; + new_height = (1.0 / con->aspect_ratio) * new_width; if (new_height > inset->height) new_width--; @@ -207,7 +208,7 @@ void render_con(Con *con, bool render_fullscreen) { } if (fullscreen) { fullscreen->rect = rect; - x_raise_con(fullscreen, false); + x_raise_con(fullscreen); render_con(fullscreen, true); return; } @@ -298,7 +299,7 @@ void render_con(Con *con, bool render_fullscreen) { } DLOG("floating child at (%d,%d) with %d x %d\n", child->rect.x, child->rect.y, child->rect.width, child->rect.height); - x_raise_con(child, false); + x_raise_con(child); render_con(child, false); } } @@ -407,7 +408,7 @@ void render_con(Con *con, bool render_fullscreen) { DLOG("child at (%d, %d) with (%d x %d)\n", child->rect.x, child->rect.y, child->rect.width, child->rect.height); - x_raise_con(child, false); + x_raise_con(child); render_con(child, false); i++; } @@ -415,7 +416,7 @@ void render_con(Con *con, bool render_fullscreen) { /* in a stacking or tabbed container, we ensure the focused client is raised */ if (con->layout == L_STACKED || con->layout == L_TABBED) { TAILQ_FOREACH_REVERSE(child, &(con->focus_head), focus_head, focused) - x_raise_con(child, false); + x_raise_con(child); if ((child = TAILQ_FIRST(&(con->focus_head)))) { /* By rendering the stacked container again, we handle the case * that we have a non-leaf-container inside the stack. In that @@ -429,7 +430,7 @@ void render_con(Con *con, bool render_fullscreen) { * top of every stack window. That way, when a new window is opened in * the stack, the old window will not obscure part of the decoration * (it’s unmapped afterwards). */ - x_raise_con(con, false); + x_raise_con(con); } } }