From ffd60b3cabc361f9432c863ff58e823db5b7aa14 Mon Sep 17 00:00:00 2001 From: okan Date: Mon, 24 Oct 2016 17:16:23 +0000 Subject: Get rid of 'matchname'; it's too surprising to have the menu change during client search as different potential str matches are cycled through. If there's interest, the only string that doesn't exist in the listing is the window's class - that can be added of course, but it makes the line too long imho. --- search.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) (limited to 'search.c') diff --git a/search.c b/search.c index 0c57b49..9ca4e5d 100644 --- a/search.c +++ b/search.c @@ -57,26 +57,21 @@ search_match_client(struct menu_q *menuq, struct menu_q *resultq, char *search) struct client_ctx *cc = (struct client_ctx *)mi->ctx; /* Match on label. */ - if ((cc->label) && strsubmatch(search, cc->label, 0)) { - cc->matchname = cc->label; + if ((cc->label) && strsubmatch(search, cc->label, 0)) tier = 0; - } /* Match on window name history, from present to past. */ if (tier < 0) { TAILQ_FOREACH_REVERSE(wn, &cc->nameq, name_q, entry) if (strsubmatch(search, wn->name, 0)) { - cc->matchname = wn->name; tier = 2; break; } } /* Match on window class name. */ - if ((tier < 0) && strsubmatch(search, cc->ch.res_class, 0)) { - cc->matchname = cc->ch.res_class; + if ((tier < 0) && strsubmatch(search, cc->ch.res_class, 0)) tier = 3; - } if (tier < 0) continue; @@ -140,12 +135,9 @@ search_print_client(struct menu *mi, int list) else if (cc->flags & CLIENT_HIDDEN) flag = '&'; - if ((list) || (cc->matchname == cc->label)) - cc->matchname = cc->name; - (void)snprintf(mi->print, sizeof(mi->print), "(%d) %c[%s] %s", (cc->gc) ? cc->gc->num : 0, flag, - (cc->label) ? cc->label : "", cc->matchname); + (cc->label) ? cc->label : "", cc->name); } static void -- cgit 1.4.1