From: Michael Stapelberg Date: Sat, 17 Sep 2011 13:10:35 +0000 (+0100) Subject: Bugfix: Honor the X11 window border when calculating dimensions for floating windows X-Git-Tag: 4.1~158^2^2~3 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=983a6795375d1c49da55e7bfc5e90dfb34bc03b3;p=i3%2Fi3 Bugfix: Honor the X11 window border when calculating dimensions for floating windows --- diff --git a/src/floating.c b/src/floating.c index 15ff23fc..8d3ce4e2 100644 --- a/src/floating.c +++ b/src/floating.c @@ -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) */