=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/format-draw.c,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- src/usr.bin/tmux/format-draw.c 2019/06/14 15:35:58 1.10 +++ src/usr.bin/tmux/format-draw.c 2019/07/01 06:56:00 1.11 @@ -1,4 +1,4 @@ -/* $OpenBSD: format-draw.c,v 1.10 2019/06/14 15:35:58 nicm Exp $ */ +/* $OpenBSD: format-draw.c,v 1.11 2019/07/01 06:56:00 nicm Exp $ */ /* * Copyright (c) 2019 Nicholas Marriott @@ -511,8 +511,9 @@ u_int ocx = os->cx, ocy = os->cy, i, width[TOTAL]; u_int map[] = { LEFT, LEFT, CENTRE, RIGHT }; int focus_start = -1, focus_end = -1; - int list_state = -1; + int list_state = -1, fill = -1; enum style_align list_align = STYLE_ALIGN_DEFAULT; + struct grid_cell gc; struct style sy; struct utf8_data *ud = &sy.gc.data; const char *cp, *end; @@ -590,6 +591,10 @@ style_tostring(&sy)); free(tmp); + /* If this style has a fill colour, store it for later. */ + if (sy.fill != 8) + fill = sy.fill; + /* Check the list state. */ switch (sy.list) { case STYLE_LIST_ON: @@ -709,6 +714,14 @@ TAILQ_FOREACH(fr, &frs, entry) { log_debug("%s: range %d|%u is %s %u-%u", __func__, fr->type, fr->argument, names[fr->index], fr->start, fr->end); + } + + /* Clear the available area. */ + if (fill != -1) { + memcpy(&gc, &grid_default_cell, sizeof gc); + gc.bg = fill; + for (i = 0; i < available; i++) + screen_write_putc(octx, &gc, ' '); } /*