From: Michael Stapelberg Date: Sun, 10 Jul 2011 19:54:34 +0000 (+0200) Subject: x: Don’t pre-render the decoration for windows inside a stack which are not visible X-Git-Tag: tree-pr4~46 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=7d9ba707b31be69ca07c931d0920928d25b895ab;p=i3%2Fi3 x: Don’t pre-render the decoration for windows inside a stack which are not visible Saves n-1 decoration renderings for n windows in a stack whenever a new window gets added or removed. --- diff --git a/src/x.c b/src/x.c index b40a5c38..85e9f41a 100644 --- a/src/x.c +++ b/src/x.c @@ -578,10 +578,15 @@ void x_push_node(Con *con) { con->pixmap_recreated = true; - /* Render the decoration now to make the correct decoration visible - * from the very first moment. Later calls will be cached, so this - * doesn’t hurt performance. */ - x_deco_recurse(con); + /* Don’t render the decoration for windows inside a stack which are + * not visible right now */ + if (!con->parent || + con->parent->layout != L_STACKED || + TAILQ_FIRST(&(con->parent->focus_head)) == con) + /* Render the decoration now to make the correct decoration visible + * from the very first moment. Later calls will be cached, so this + * doesn’t hurt performance. */ + x_deco_recurse(con); } DLOG("setting rect (%d, %d, %d, %d)\n", rect.x, rect.y, rect.width, rect.height);