aboutsummaryrefslogtreecommitdiff
path: root/menu.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2020-05-01 17:01:36 +0100
committerNicholas Marriott <nicholas.marriott@gmail.com>2020-05-01 17:01:36 +0100
commit8110c7a25f257b13f92f34559efedba204e6ea98 (patch)
tree1a27040ddeb828a865b28323ee4516f053292591 /menu.c
parentdbebdb2d364feea4df958528ee1dcacbb9933e37 (diff)
downloadrtmux-8110c7a25f257b13f92f34559efedba204e6ea98.tar.gz
rtmux-8110c7a25f257b13f92f34559efedba204e6ea98.tar.bz2
rtmux-8110c7a25f257b13f92f34559efedba204e6ea98.zip
Do not hoke into struct window_pane from the tty code and instead set
everything up in tty_ctx. Provide a way to initialize the tty_ctx from a callback and use it to let popups draw directly through input_parse in the same way as panes do, rather than forcing a full redraw on every change.
Diffstat (limited to 'menu.c')
-rw-r--r--menu.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/menu.c b/menu.c
index e78999c6..27836694 100644
--- a/menu.c
+++ b/menu.c
@@ -153,13 +153,15 @@ menu_draw_cb(struct client *c, __unused struct screen_redraw_ctx *ctx0)
style_apply(&gc, c->session->curw->window->options, "mode-style", NULL);
- screen_write_start(&ctx, NULL, s);
+ screen_write_start(&ctx, s);
screen_write_clearscreen(&ctx, 8);
screen_write_menu(&ctx, menu, md->choice, &gc);
screen_write_stop(&ctx);
- for (i = 0; i < screen_size_y(&md->s); i++)
- tty_draw_line(tty, NULL, s, 0, i, menu->width + 4, px, py + i);
+ for (i = 0; i < screen_size_y(&md->s); i++) {
+ tty_draw_line(tty, s, 0, i, menu->width + 4, px, py + i,
+ &grid_default_cell, NULL);
+ }
}
static void