=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/tmux/menu.c,v retrieving revision 1.14 retrieving revision 1.15 diff -c -r1.14 -r1.15 *** src/usr.bin/tmux/menu.c 2020/03/20 17:26:14 1.14 --- src/usr.bin/tmux/menu.c 2020/03/24 08:09:44 1.15 *************** *** 1,4 **** ! /* $OpenBSD: menu.c,v 1.14 2020/03/20 17:26:14 nicm Exp $ */ /* * Copyright (c) 2019 Nicholas Marriott --- 1,4 ---- ! /* $OpenBSD: menu.c,v 1.15 2020/03/24 08:09:44 nicm Exp $ */ /* * Copyright (c) 2019 Nicholas Marriott *************** *** 130,135 **** --- 130,145 ---- free(menu); } + static int + menu_mode_cb(struct client *c, __unused u_int *cx, __unused u_int *cy) + { + struct menu_data *md = c->overlay_data; + + if (~md->flags & MENU_NOMOUSE) + return (MODE_MOUSE_ALL); + return (0); + } + static void menu_draw_cb(struct client *c, __unused struct screen_redraw_ctx *ctx0) { *************** *** 147,155 **** for (i = 0; i < screen_size_y(&md->s); i++) tty_draw_line(tty, NULL, s, 0, i, menu->width + 4, px, py + i); - - if (~md->flags & MENU_NOMOUSE) - tty_update_mode(tty, MODE_MOUSE_ALL, NULL); } static void --- 157,162 ---- *************** *** 317,323 **** md->cb = cb; md->data = data; ! server_client_set_overlay(c, 0, menu_draw_cb, menu_key_cb, menu_free_cb, ! md); return (0); } --- 324,330 ---- md->cb = cb; md->data = data; ! server_client_set_overlay(c, 0, NULL, menu_mode_cb, menu_draw_cb, ! menu_key_cb, menu_free_cb, md); return (0); }