Add a function that adds an entry to a menuq, normalizing a common code

path; from Tiago Cunha.
This commit is contained in:
okan
2014-01-20 18:58:03 +00:00
parent 43ccf4eae0
commit 720b5452aa
6 changed files with 34 additions and 49 deletions

View File

@ -234,11 +234,8 @@ mousefunc_menu_unhide(struct client_ctx *cc, union arg *arg)
if (wname == NULL)
continue;
mi = xcalloc(1, sizeof(*mi));
(void)snprintf(mi->text, sizeof(mi->text), "(%d) %s",
menuq_add(&menuq, cc, "(%d) %s",
cc->group ? cc->group->shortcut : 0, wname);
mi->ctx = cc;
TAILQ_INSERT_TAIL(&menuq, mi, entry);
}
if (TAILQ_EMPTY(&menuq))
@ -267,12 +264,8 @@ mousefunc_menu_cmd(struct client_ctx *cc, union arg *arg)
TAILQ_INIT(&menuq);
TAILQ_FOREACH(cmd, &Conf.cmdq, entry) {
mi = xcalloc(1, sizeof(*mi));
(void)strlcpy(mi->text, cmd->label, sizeof(mi->text));
mi->ctx = cmd;
TAILQ_INSERT_TAIL(&menuq, mi, entry);
}
TAILQ_FOREACH(cmd, &Conf.cmdq, entry)
menuq_add(&menuq, cmd, "%s", cmd->label);
if (TAILQ_EMPTY(&menuq))
return;