summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@cvs.openbsd.org>2020-04-16 17:20:24 +0000
committerNicholas Marriott <nicm@cvs.openbsd.org>2020-04-16 17:20:24 +0000
commit9b01e727fd251c64cad0fc4b79ef2af8f0bdfaa8 (patch)
treec933c7b98107f783c56df582872040c3369bd827
parent902d48251893525f444777186a6d12c741d7cca9 (diff)
Start menu with top item selected if no mouse, GitHub issue 2169.
-rw-r--r--usr.bin/tmux/menu.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/usr.bin/tmux/menu.c b/usr.bin/tmux/menu.c
index c6794509f83..1242550cd36 100644
--- a/usr.bin/tmux/menu.c
+++ b/usr.bin/tmux/menu.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: menu.c,v 1.22 2020/04/15 16:11:23 nicm Exp $ */
+/* $OpenBSD: menu.c,v 1.23 2020/04/16 17:20:23 nicm Exp $ */
/*
* Copyright (c) 2019 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -298,6 +298,8 @@ menu_display(struct menu *menu, int flags, struct cmdq_item *item, u_int px,
void *data)
{
struct menu_data *md;
+ u_int i;
+ const char *name;
if (c->tty.sx < menu->width + 4 || c->tty.sy < menu->count + 2)
return (-1);
@@ -318,7 +320,18 @@ menu_display(struct menu *menu, int flags, struct cmdq_item *item, u_int px,
md->py = py;
md->menu = menu;
- md->choice = -1;
+ if (md->flags & MENU_NOMOUSE) {
+ for (i = 0; i < menu->count; i++) {
+ name = menu->items[i].name;
+ if (name != NULL && *name != '-')
+ break;
+ }
+ if (i != menu->count)
+ md->choice = i;
+ else
+ md->choice = -1;
+ } else
+ md->choice = -1;
md->cb = cb;
md->data = data;