]> git.sur5r.net Git - i3/i3/commitdiff
Explicitly set current border width when BS_PIXEL
authorTony Crisci <tony@dubstepdish.com>
Sat, 28 Jun 2014 01:20:12 +0000 (21:20 -0400)
committerMichael Stapelberg <michael@stapelberg.de>
Sat, 28 Jun 2014 11:00:59 +0000 (13:00 +0200)
When a window becomes managed, if the config specifies a pixel border
style, explicitly set the current border width so it does not change
when the container changes from tiling to floating.

fixes #1266

src/manage.c
testcases/t/174-border-config.t

index 9eee35786d2c5b01c0e780577f5a7ebc4758c84c..a7002bf3abc33c3c4aa1baa559859bb211a45a0f 100644 (file)
@@ -450,6 +450,12 @@ void manage_window(xcb_window_t window, xcb_get_window_attributes_cookie_t cooki
         }
     }
 
+    if (nc->border_style == BS_PIXEL) {
+        /* if the border style is BS_PIXEL, explicitly set the border width of
+         * the new container */
+        nc->current_border_width = (want_floating ? config.default_floating_border_width : config.default_border_width);
+    }
+
     /* to avoid getting an UnmapNotify event due to reparenting, we temporarily
      * declare no interest in any state change event of this window */
     values[0] = XCB_NONE;
index 56ad865a6657ea1c6d21c2c38aff2a3e3f92859a..3a8285c4e9814ad38e7c87c32b5d734be8cb78a1 100644 (file)
@@ -66,7 +66,7 @@ $first = open_window;
 @content = @{get_ws_content($tmp)};
 ok(@content == 1, 'one container opened');
 is($content[0]->{border}, 'pixel', 'border pixel by default');
-is($content[0]->{current_border_width}, -1, 'border width pixels -1 (default)');
+is($content[0]->{current_border_width}, 1, 'border width pixels 1 (default)');
 
 exit_gracefully($pid);