diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2020-04-29 15:26:49 +0100 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2020-04-29 15:26:49 +0100 |
commit | 04033add19a91ffce9e8495c27cae3049fc306c6 (patch) | |
tree | a22b2668e08983bd7220f8966a1987a4eb264b62 | |
parent | d9fa122fd23f9769758026fa9866dda0379f3086 (diff) | |
download | rtmux-04033add19a91ffce9e8495c27cae3049fc306c6.tar.gz rtmux-04033add19a91ffce9e8495c27cae3049fc306c6.tar.bz2 rtmux-04033add19a91ffce9e8495c27cae3049fc306c6.zip |
Close menu on backspace with TAB flag.
-rw-r--r-- | menu.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -150,8 +150,11 @@ menu_draw_cb(struct client *c, __unused struct screen_redraw_ctx *ctx0) struct screen_write_ctx ctx; u_int i, px = md->px, py = md->py; struct grid_cell gc; + struct format_tree *ft; - style_apply(&gc, c->session->curw->window->options, "mode-style", NULL); + ft = format_create_from_state(md->item, c, &md->fs); + style_apply(&gc, c->session->curw->window->options, "mode-style", ft); + format_free(ft); screen_write_start(&ctx, NULL, s); screen_write_clearscreen(&ctx, 8); @@ -240,6 +243,10 @@ menu_key_cb(struct client *c, struct key_event *event) } while ((name == NULL || *name == '-') && md->choice != old); c->flags |= CLIENT_REDRAWOVERLAY; return (0); + case KEYC_BSPACE: + if (~md->flags & MENU_TAB) + break; + return (1); case '\011': /* Tab */ if (~md->flags & MENU_TAB) break; |