i3 - improved tiling WM


Do not create container pixmap without a border

Patch status: needinfo

Patch by Tony Crisci

Long description:

A pixmap without a border is not necessary because nothing meaningful
will be drawn to it. It could possibly obscure areas meant to be
transparent by the client.

fixes #1013

To apply this patch, use:
curl http://cr.i3wm.org/patch/374/raw.patch | git am

b/src/x.c

18
@@ -667,9 +667,10 @@ void x_push_node(Con *con) {
19
         /* As the pixmap only depends on the size and not on the position, it
20
          * is enough to check if width/height have changed. Also, we don’t
21
          * create a pixmap at all when the window is actually not visible
22
-         * (height == 0). */
23
-        if ((state->rect.width != rect.width ||
24
-            state->rect.height != rect.height)) {
25
+         * (height == 0) or when it is not needed (border_style == BS_NONE). */
26
+        if (con->border_style != BS_NONE &&
27
+                (state->rect.width != rect.width ||
28
+                 state->rect.height != rect.height)) {
29
             if (con->pixmap == 0) {
30
                 con->pixmap = xcb_generate_id(conn);
31
                 con->pm_gc = xcb_generate_id(conn);