diff options
author | nicm <nicm> | 2019-05-03 10:00:48 +0000 |
---|---|---|
committer | nicm <nicm> | 2019-05-03 10:00:48 +0000 |
commit | 4bb48998e075017707b0fd8d61499409bd144c6d (patch) | |
tree | d829107500a36ff496a3fad40f6705c16b55c906 /status.c | |
parent | 5d9e591ae8ebf60bdabd9535877af96ce1ca9980 (diff) | |
download | rtmux-4bb48998e075017707b0fd8d61499409bd144c6d.tar.gz rtmux-4bb48998e075017707b0fd8d61499409bd144c6d.tar.bz2 rtmux-4bb48998e075017707b0fd8d61499409bd144c6d.zip |
Fix reverse attribute in status line, GitHub issue 1709.
Diffstat (limited to 'status.c')
-rw-r--r-- | status.c | 17 |
1 files changed, 11 insertions, 6 deletions
@@ -320,7 +320,7 @@ status_redraw(struct client *c) struct session *s = c->session; struct screen_write_ctx ctx; struct grid_cell gc; - u_int lines, i, width = c->tty.sx; + u_int lines, i, n, width = c->tty.sx; int flags, force = 0, changed = 0; struct options_entry *o; union options_value *ov; @@ -364,15 +364,17 @@ status_redraw(struct client *c) /* Write the status lines. */ o = options_get(s->options, "status-format"); - if (o == NULL) - screen_write_clearscreen(&ctx, gc.bg); - else { + if (o == NULL) { + for (n = 0; n < width * lines; n++) + screen_write_putc(&ctx, &gc, ' '); + } else { for (i = 0; i < lines; i++) { screen_write_cursormove(&ctx, 0, i, 0); ov = options_array_get(o, i); if (ov == NULL) { - screen_write_clearline(&ctx, gc.bg); + for (n = 0; n < width; n++) + screen_write_putc(&ctx, &gc, ' '); continue; } sle = &sl->entries[i]; @@ -386,7 +388,10 @@ status_redraw(struct client *c) } changed = 1; - screen_write_clearline(&ctx, gc.bg); + for (n = 0; n < width; n++) + screen_write_putc(&ctx, &gc, ' '); + screen_write_cursormove(&ctx, 0, i, 0); + status_free_ranges(&sle->ranges); format_draw(&ctx, &gc, width, expanded, &sle->ranges); |