From: Diego Ongaro Date: Mon, 29 Apr 2013 08:14:11 +0000 (-0700) Subject: Draw indicator border only for split layouts X-Git-Tag: 4.6~36 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=609496d13f484ae2aac05a7b9e56929cc77e3b5f;p=i3%2Fi3 Draw indicator border only for split layouts In order to distinguish split layouts from tabbed/stacking layouts when only one window is shown, do not draw the indicator border for tabbed or stacking layouts. --- diff --git a/include/data.h b/include/data.h index 83f9d80b..31407f3c 100644 --- a/include/data.h +++ b/include/data.h @@ -147,7 +147,7 @@ struct deco_render_params { Rect con_deco_rect; uint32_t background; bool con_is_leaf; - orientation_t parent_orientation; + layout_t parent_layout; }; /** diff --git a/src/x.c b/src/x.c index ae6e8a60..f8655946 100644 --- a/src/x.c +++ b/src/x.c @@ -351,7 +351,7 @@ void x_draw_decoration(Con *con) { p->con_deco_rect = con->deco_rect; p->background = config.client.background; p->con_is_leaf = con_is_leaf(con); - p->parent_orientation = con_orientation(parent); + p->parent_layout = con->parent->layout; if (con->deco_render_params != NULL && (con->window == NULL || !con->window->name_x_changed) && @@ -446,10 +446,10 @@ void x_draw_decoration(Con *con) { TAILQ_PREV(con, nodes_head, nodes) == NULL && con->parent->type != CT_FLOATING_CON) { xcb_change_gc(conn, con->pm_gc, XCB_GC_FOREGROUND, (uint32_t[]){ p->color->indicator }); - if (p->parent_orientation == HORIZ) + if (p->parent_layout == L_SPLITH) xcb_poly_fill_rectangle(conn, con->pixmap, con->pm_gc, 1, (xcb_rectangle_t[]){ { r->width + br.width + br.x, br.y, r->width, r->height + br.height } }); - else + else if (p->parent_layout == L_SPLITV) xcb_poly_fill_rectangle(conn, con->pixmap, con->pm_gc, 1, (xcb_rectangle_t[]){ { br.x, r->height + br.height + br.y, r->width - (2 * br.x), r->height } }); }