This bug presents best in certain layouts, like bstack. Demonstrate it by starting a fresh dvtm instance (only one client open), switching to bstack layout, then creating a new window. The old window is not redrawn correctly now that its first line has a title bar. The dvtm redraw command will temporarily fix the situation, but if you switch to the old window and close it, the new window (now the only window) is not redrawn -- the title bar is still showing. Again, the dvtm redraw (C-g r) fixes this temporarily.
Hopefully, the patch below provides a more permanent fix. -Mark
From d1c62b3b4ebecb66d08ee47cc521465d8d2c4fa3 Mon Sep 17 00:00:00 2001 From: Mark Edgar <medgar...@gmail.com> Date: Sat, 14 Jun 2014 20:38:25 +0200 Subject: [PATCH] The Vt must redraw when show_border() changes. --- vt.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/vt.c b/vt.c index 056e132..78f3571 100644 --- a/vt.c +++ b/vt.c @@ -163,6 +163,8 @@ struct Vt { char rbuf[BUFSIZ]; char ebuf[BUFSIZ]; unsigned int rlen, elen; + /* last known start row, start column */ + int srow, scol; /* xterm style window title */ char title[256]; @@ -1457,6 +1459,12 @@ void vt_draw(Vt *t, WINDOW * win, int srow, int scol) Row *sel_row_start, *sel_row_end; int sel_col_start, sel_col_end; + if (srow != t->srow || scol != t->scol) { + vt_dirty(t); + t->srow = srow; + t->scol = scol; + } + copymode_get_selection_boundry(t, &sel_row_start, &sel_col_start, &sel_row_end, &sel_col_end, true); for (int i = 0; i < b->rows; i++) { -- 1.9.2