diff options
Diffstat (limited to 'src/screen.c')
-rw-r--r-- | src/screen.c | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/src/screen.c b/src/screen.c index ba5475b0d..9005efafd 100644 --- a/src/screen.c +++ b/src/screen.c @@ -701,8 +701,14 @@ updateWindow(wp) if (clip_star.available && clip_isautosel()) clip_update_selection(); #endif + win_update(wp); + #ifdef FEAT_WINDOWS + /* When the screen was cleared redraw the tab pages line. */ + if (redraw_tabpage) + draw_tabpage(); + if (wp->w_redr_status # ifdef FEAT_CMDL_INFO || p_ru @@ -7057,6 +7063,9 @@ screenclear2() win_rest_invalid(firstwin); redraw_cmdline = TRUE; +#ifdef FEAT_WINDOWS + redraw_tabpage = TRUE; +#endif if (must_redraw == CLEAR) /* no need to clear again */ must_redraw = NOT_VALID; compute_cmdrow(); @@ -8468,11 +8477,14 @@ draw_tabpage() c = '/'; else c = '\\'; - screen_putchar(c, 0, col++, attr); + if (t_colors < 8) + screen_putchar(c, 0, col++, attr); if (tp->tp_topframe != topframe) attr = attr_nosel; + screen_putchar(' ', 0, col++, attr); + if (tp->tp_topframe == topframe) wp = curwin; else @@ -8488,11 +8500,17 @@ draw_tabpage() len = tabwidth; screen_puts_len(NameBuff, len, 0, col, attr); col += len; + screen_putchar(' ', 0, col++, attr); } - screen_putchar('\\', 0, col++, attr); - while (col < Columns) - screen_putchar('_', 0, col++, attr_fill); + if (t_colors < 8) + { + screen_putchar('\\', 0, col++, attr); + c = '_'; + } + else + c = ' '; + screen_fill(0, 1, col, (int)Columns, c, c, attr_fill); } #endif |