]> git.sur5r.net Git - i3/i3/commitdiff
Get rid of the remaining hardcoded height.
authorFernando Tarlá Cardoso Lemos <fernandotcl@gmail.com>
Sun, 14 Nov 2010 23:25:37 +0000 (21:25 -0200)
committerMichael Stapelberg <michael@stapelberg.de>
Mon, 15 Nov 2010 11:25:06 +0000 (12:25 +0100)
src/floating.c
src/handlers.c
src/render.c

index 2292d89be19f507976b325bcb26307e4941fa50b..b1e23785a67c274614b98856fd93e56895458a31 100644 (file)
@@ -42,11 +42,15 @@ void floating_enable(Con *con, bool automatic) {
     x_set_name(nc, name);
     free(name);
 
+    /* find the height for the decorations */
+    i3Font *font = load_font(conn, config.font);
+    int deco_height = font->height + 5;
+
     nc->rect = con->rect;
     /* add pixels for the decoration */
     /* TODO: don’t add them when the user automatically puts new windows into
      * 1pixel/borderless mode */
-    nc->rect.height += 17 + 2;
+    nc->rect.height += deco_height + 4;
     nc->rect.width += 4;
     nc->orientation = NO_ORIENTATION;
     nc->type = CT_FLOATING_CON;
index 7dd73acbd7d4925b05d0d4ed97f1089d25fb0dfd..e8c626e1a6339958ee3df6a03bdcdfec494b99dc 100644 (file)
@@ -342,11 +342,14 @@ int handle_configure_request(void *prophs, xcb_connection_t *conn, xcb_configure
 
     DLOG("Configure request!\n");
     if (con_is_floating(con) && con_is_leaf(con)) {
+        /* find the height for the decorations */
+        i3Font *font = load_font(conn, config.font);
+        int deco_height = font->height + 5;
         /* we actually need to apply the size/position changes to the *parent*
          * container */
         Rect bsr = con_border_style_rect(con);
         if (con->border_style == BS_NORMAL)
-            bsr.height -= 17;
+            bsr.height -= deco_height;
         con = con->parent;
         DLOG("Container is a floating leaf node, will do that.\n");
         if (event->value_mask & XCB_CONFIG_WINDOW_X) {
index f8305d5438af2639f807a42f6db42d60e428467c..fcb2a64ed21ecf37572027ec51fe13c1034ae143 100644 (file)
@@ -104,6 +104,10 @@ void render_con(Con *con) {
         return;
     }
 
+    /* find the height for the decorations */
+    i3Font *font = load_font(conn, config.font);
+    int deco_height = font->height + 5;
+
     Con *child;
     TAILQ_FOREACH(child, &(con->nodes_head), nodes) {
 
@@ -136,11 +140,11 @@ void render_con(Con *con) {
                 child->deco_rect.x = child->rect.x - con->rect.x;
                 child->deco_rect.y = child->rect.y - con->rect.y;
 
-                child->rect.y += 17;
-                child->rect.height -= 17;
+                child->rect.y += deco_height;
+                child->rect.height -= deco_height;
 
                 child->deco_rect.width = child->rect.width;
-                child->deco_rect.height = 17;
+                child->deco_rect.height = deco_height;
             }
         }
 
@@ -151,13 +155,13 @@ void render_con(Con *con) {
             child->rect.width = rect.width;
             child->rect.height = rect.height;
 
-            child->rect.y += (17 * children);
-            child->rect.height -= (17 * children);
+            child->rect.y += (deco_height * children);
+            child->rect.height -= (deco_height * children);
 
             child->deco_rect.x = x - con->rect.x;
-            child->deco_rect.y = y - con->rect.y + (i * 17);
+            child->deco_rect.y = y - con->rect.y + (i * deco_height);
             child->deco_rect.width = child->rect.width;
-            child->deco_rect.height = 17;
+            child->deco_rect.height = deco_height;
         }
 
         printf("child at (%d, %d) with (%d x %d)\n",