]> git.sur5r.net Git - i3/i3/commitdiff
Bugfix: Honor the X11 window border when calculating dimensions for floating windows
authorMichael Stapelberg <michael@stapelberg.de>
Sat, 17 Sep 2011 13:10:35 +0000 (14:10 +0100)
committerMichael Stapelberg <michael@stapelberg.de>
Sat, 17 Sep 2011 13:10:35 +0000 (14:10 +0100)
src/floating.c

index 15ff23fcf35504f5a3c0429784b4141ebc0b5ef3..8d3ce4e244a9059ebfe20c6f981ed31d028180f4 100644 (file)
@@ -103,6 +103,7 @@ void floating_enable(Con *con, bool automatic) {
     int deco_height = config.font.height + 5;
 
     DLOG("Original rect: (%d, %d) with %d x %d\n", con->rect.x, con->rect.y, con->rect.width, con->rect.height);
+    DLOG("Geometry = (%d, %d) with %d x %d\n", con->geometry.x, con->geometry.y, con->geometry.width, con->geometry.height);
     Rect zero = { 0, 0, 0, 0 };
     nc->rect = con->geometry;
     /* If the geometry was not set (split containers), we need to determine a
@@ -125,6 +126,10 @@ void floating_enable(Con *con, bool automatic) {
     nc->rect.height += deco_height + 2;
     nc->rect.width += 4;
 
+    /* Honor the X11 border */
+    nc->rect.height += con->border_width * 2;
+    nc->rect.width += con->border_width * 2;
+
     /* Some clients (like GIMP’s color picker window) get mapped
      * to (0, 0), so we push them to a reasonable position
      * (centered over their leader) */