From a4cba7e113490fdf691ccc52a1cae6629cdf97b4 Mon Sep 17 00:00:00 2001 From: okan Date: Fri, 5 Jun 2015 15:01:51 +0000 Subject: [PATCH] add a flag to indicate a menu list instead of overloading 'prompt' --- calmwm.h | 1 + menu.c | 4 +++- mousefunc.c | 6 +++--- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/calmwm.h b/calmwm.h index 3b297b0..69b8a9d 100644 --- a/calmwm.h +++ b/calmwm.h @@ -73,6 +73,7 @@ /* menu */ #define CWM_MENU_DUMMY 0x0001 #define CWM_MENU_FILE 0x0002 +#define CWM_MENU_LIST 0x0004 #define ARG_CHAR 0x0001 #define ARG_INT 0x0002 diff --git a/menu.c b/menu.c index f9a0354..37515bd 100644 --- a/menu.c +++ b/menu.c @@ -109,9 +109,11 @@ menu_filter(struct screen_ctx *sc, struct menu_q *menuq, const char *prompt, mc.hasprompt = 1; } else { evmask = MENUMASK; - mc.list = 1; } + if (mc.flags & CWM_MENU_LIST) + mc.list = 1; + if (initial != NULL) (void)strlcpy(mc.searchstr, initial, sizeof(mc.searchstr)); else diff --git a/mousefunc.c b/mousefunc.c index 271e732..a1d7e06 100644 --- a/mousefunc.c +++ b/mousefunc.c @@ -191,7 +191,7 @@ mousefunc_menu_group(struct client_ctx *cc, union arg *arg) if (TAILQ_EMPTY(&menuq)) return; - if ((mi = menu_filter(sc, &menuq, NULL, NULL, 0, + if ((mi = menu_filter(sc, &menuq, NULL, NULL, CWM_MENU_LIST, NULL, NULL)) != NULL) { gc = (struct group_ctx *)mi->ctx; (group_holds_only_hidden(gc)) ? @@ -225,7 +225,7 @@ mousefunc_menu_unhide(struct client_ctx *cc, union arg *arg) if (TAILQ_EMPTY(&menuq)) return; - if ((mi = menu_filter(sc, &menuq, NULL, NULL, 0, + if ((mi = menu_filter(sc, &menuq, NULL, NULL, CWM_MENU_LIST, NULL, NULL)) != NULL) { cc = (struct client_ctx *)mi->ctx; client_unhide(cc); @@ -251,7 +251,7 @@ mousefunc_menu_cmd(struct client_ctx *cc, union arg *arg) if (TAILQ_EMPTY(&menuq)) return; - if ((mi = menu_filter(sc, &menuq, NULL, NULL, 0, + if ((mi = menu_filter(sc, &menuq, NULL, NULL, CWM_MENU_LIST, NULL, NULL)) != NULL) u_spawn(((struct cmd *)mi->ctx)->path);