]> git.sur5r.net Git - i3/i3/commitdiff
Add render_deco_height()
authoroblique <psyberbits@gmail.com>
Fri, 8 Feb 2013 13:23:50 +0000 (15:23 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Thu, 14 Feb 2013 18:37:52 +0000 (19:37 +0100)
include/render.h
src/con.c
src/floating.c
src/render.c

index 0a5949f9fab35dc029b076cdd3d1407f38edac2d..a0eca01ab72572b6eb278b4a22848e59ed628ed5 100644 (file)
@@ -21,4 +21,9 @@
  */
 void render_con(Con *con, bool render_fullscreen);
 
+/*
+ * Returns the height for the decorations
+ */
+int render_deco_height(void);
+
 #endif
index c1e4f593e81213e62b116282b2d8404733c1a110..750b1c13911c5ad8b754aa1420af3148558b9573 100644 (file)
--- a/src/con.c
+++ b/src/con.c
@@ -1175,7 +1175,7 @@ void con_set_border_style(Con *con, int border_style, int border_width) {
     con->current_border_width = border_width;
     bsr = con_border_style_rect(con);
     int deco_height =
-        (con->border_style == BS_NORMAL ? config.font.height + 5 : 0);
+        (con->border_style == BS_NORMAL ? render_deco_height() : 0);
 
     con->rect.x -= bsr.x;
     con->rect.y -= bsr.y;
index 761d207de39cfed6d1fed9e726082b828f4283ae..b37f16754c601e263e9b79f15fee9a4d641cc890 100644 (file)
@@ -165,7 +165,7 @@ void floating_enable(Con *con, bool automatic) {
     free(name);
 
     /* find the height for the decorations */
-    int deco_height = config.font.height + 5;
+    int deco_height = render_deco_height();
 
     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);
@@ -251,7 +251,7 @@ void floating_enable(Con *con, bool automatic) {
     /* 5: Subtract the deco_height in order to make the floating window appear
      * at precisely the position it specified in its original geometry (which
      * is what applications might remember). */
-    deco_height = (con->border_style == BS_NORMAL ? config.font.height + 5 : 0);
+    deco_height = (con->border_style == BS_NORMAL ? render_deco_height() : 0);
     nc->rect.y -= deco_height;
 
     DLOG("Corrected y = %d (deco_height = %d)\n", nc->rect.y, deco_height);
index 9ac4b78ef2c81de4145170fe8b8e7f4d205deb81..5027cd21eaa42fb726e90abbef88f4e97e981f07 100644 (file)
  * container (for debugging purposes) */
 static bool show_debug_borders = false;
 
+/*
+ * Returns the height for the decorations
+ */
+int render_deco_height(void) {
+    int deco_height = config.font.height + 4;
+    if (config.font.height & 0x01)
+        ++deco_height;
+    return deco_height;
+}
+
 /*
  * Renders a container with layout L_OUTPUT. In this layout, all CT_DOCKAREAs
  * get the height of their content and the remaining CT_CON gets the rest.
@@ -203,9 +213,7 @@ void render_con(Con *con, bool render_fullscreen) {
     }
 
     /* find the height for the decorations */
-    int deco_height = config.font.height + 4;
-    if (config.font.height & 0x01)
-        ++deco_height;
+    int deco_height = render_deco_height();
 
     /* precalculate the sizes to be able to correct rounding errors */
     int sizes[children];