diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2020-05-11 09:18:00 +0100 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2020-05-11 09:18:35 +0100 |
commit | c489bf0a1e5d1ef7dfd886a95b638fa7bfa1fbe2 (patch) | |
tree | 668a4e9a80fdfa92bc99bcaa08faa9826fac328f /status.c | |
parent | 8502517d302363cf0d18c4aedf80a2761db24c1c (diff) | |
download | rtmux-c489bf0a1e5d1ef7dfd886a95b638fa7bfa1fbe2.tar.gz rtmux-c489bf0a1e5d1ef7dfd886a95b638fa7bfa1fbe2.tar.bz2 rtmux-c489bf0a1e5d1ef7dfd886a95b638fa7bfa1fbe2.zip |
Support embedded styles in the display-message message, GitHub issue 2206.
Diffstat (limited to 'status.c')
-rw-r--r-- | status.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -423,7 +423,7 @@ status_redraw(struct client *c) /* Set a status line message. */ void -status_message_set(struct client *c, const char *fmt, ...) +status_message_set(struct client *c, int ignore_styles, const char *fmt, ...) { struct timeval tv; va_list ap; @@ -433,6 +433,7 @@ status_message_set(struct client *c, const char *fmt, ...) status_push_screen(c); va_start(ap, fmt); + c->message_ignore_styles = ignore_styles; xvasprintf(&c->message_string, fmt, ap); va_end(ap); @@ -515,7 +516,10 @@ status_message_redraw(struct client *c) for (offset = 0; offset < c->tty.sx; offset++) screen_write_putc(&ctx, &gc, ' '); screen_write_cursormove(&ctx, 0, lines - 1, 0); - screen_write_nputs(&ctx, len, &gc, "%s", c->message_string); + if (c->message_ignore_styles) + screen_write_nputs(&ctx, len, &gc, "%s", c->message_string); + else + format_draw(&ctx, &gc, c->tty.sx, c->message_string, NULL); screen_write_stop(&ctx); if (grid_compare(sl->active->grid, old_screen.grid) == 0) { |