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.
This commit is contained in:
parent
96575e14a0
commit
609496d13f
|
@ -147,7 +147,7 @@ struct deco_render_params {
|
||||||
Rect con_deco_rect;
|
Rect con_deco_rect;
|
||||||
uint32_t background;
|
uint32_t background;
|
||||||
bool con_is_leaf;
|
bool con_is_leaf;
|
||||||
orientation_t parent_orientation;
|
layout_t parent_layout;
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
6
src/x.c
6
src/x.c
|
@ -351,7 +351,7 @@ void x_draw_decoration(Con *con) {
|
||||||
p->con_deco_rect = con->deco_rect;
|
p->con_deco_rect = con->deco_rect;
|
||||||
p->background = config.client.background;
|
p->background = config.client.background;
|
||||||
p->con_is_leaf = con_is_leaf(con);
|
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 &&
|
if (con->deco_render_params != NULL &&
|
||||||
(con->window == NULL || !con->window->name_x_changed) &&
|
(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 &&
|
TAILQ_PREV(con, nodes_head, nodes) == NULL &&
|
||||||
con->parent->type != CT_FLOATING_CON) {
|
con->parent->type != CT_FLOATING_CON) {
|
||||||
xcb_change_gc(conn, con->pm_gc, XCB_GC_FOREGROUND, (uint32_t[]){ p->color->indicator });
|
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[]){
|
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 } });
|
{ 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[]){
|
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 } });
|
{ br.x, r->height + br.height + br.y, r->width - (2 * br.x), r->height } });
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue