itUse item list provided at runtime rather than hardcode it - xmenu - drop-down menu for X11 Err z3bra.org 70 hgit clone git://git.z3bra.org/xmenu.git URL:git://git.z3bra.org/xmenu.git z3bra.org 70 1Log /scm/xmenu/log.gph z3bra.org 70 1Files /scm/xmenu/files.gph z3bra.org 70 1Refs /scm/xmenu/refs.gph z3bra.org 70 i--- Err z3bra.org 70 1commit bf59d1b7d425a118abedc02bd29fd04a55460bfd /scm/xmenu/commit/bf59d1b7d425a118abedc02bd29fd04a55460bfd.gph z3bra.org 70 1parent 9db050cb33f34dcdd6862d71240b7e1593bfcaa5 /scm/xmenu/commit/9db050cb33f34dcdd6862d71240b7e1593bfcaa5.gph z3bra.org 70 hAuthor: Willy Goiffon URL:mailto:dev@z3bra.org z3bra.org 70 iDate: Thu, 21 Nov 2019 13:58:51 +0100 Err z3bra.org 70 i Err z3bra.org 70 iUse item list provided at runtime rather than hardcode it Err z3bra.org 70 i Err z3bra.org 70 iDiffstat: Err z3bra.org 70 i M config.def.h | 8 -------- Err z3bra.org 70 i M xmenu.c | 11 +++++++++-- Err z3bra.org 70 i Err z3bra.org 70 i2 files changed, 9 insertions(+), 10 deletions(-) Err z3bra.org 70 i--- Err z3bra.org 70 1diff --git a/config.def.h b/config.def.h /scm/xmenu/file/config.def.h.gph z3bra.org 70 it@@ -4,11 +4,3 @@ uint32_t foreground = 0xc1eafe; Err z3bra.org 70 i Err z3bra.org 70 i /* font used for entries */ Err z3bra.org 70 i char *font = "monospace:pixelsize=16"; Err z3bra.org 70 i- Err z3bra.org 70 i-char *entries[] = { Err z3bra.org 70 i- "new", Err z3bra.org 70 i- "close", Err z3bra.org 70 i- "reshape", Err z3bra.org 70 i- "snarf", Err z3bra.org 70 i- "plumb", Err z3bra.org 70 i-}; Err z3bra.org 70 1diff --git a/xmenu.c b/xmenu.c /scm/xmenu/file/xmenu.c.gph z3bra.org 70 it@@ -29,11 +29,12 @@ size_t nent = 0; Err z3bra.org 70 i size_t maxwidth = 0; Err z3bra.org 70 i size_t maxheight = 0; Err z3bra.org 70 i struct geom menu = { 0, 0, 0, 0 }; Err z3bra.org 70 i+char **entries; Err z3bra.org 70 i Err z3bra.org 70 i void Err z3bra.org 70 i usage(FILE *fd, char *name) Err z3bra.org 70 i { Err z3bra.org 70 i- fprintf(fd, "usage: %s [-hd]\n", name); Err z3bra.org 70 i+ fprintf(fd, "usage: %s [-hd] item..\n", name); Err z3bra.org 70 i } Err z3bra.org 70 i Err z3bra.org 70 i int Err z3bra.org 70 it@@ -258,6 +259,11 @@ main(int argc, char *argv[]) Err z3bra.org 70 i break; Err z3bra.org 70 i } ARGEND; Err z3bra.org 70 i Err z3bra.org 70 i+ if (!argc) { Err z3bra.org 70 i+ usage(stderr, argv0); Err z3bra.org 70 i+ return -1; Err z3bra.org 70 i+ } Err z3bra.org 70 i+ Err z3bra.org 70 i dpy = xcb_connect(NULL, NULL); Err z3bra.org 70 i if (xcb_connection_has_error(dpy)) Err z3bra.org 70 i return -1; Err z3bra.org 70 it@@ -271,7 +277,8 @@ main(int argc, char *argv[]) Err z3bra.org 70 i Err z3bra.org 70 i xft_loadfont(font, dpi); Err z3bra.org 70 i Err z3bra.org 70 i- for (nent = 0; entries[nent]; nent++) { Err z3bra.org 70 i+ entries = argv; Err z3bra.org 70 i+ for (nent = 0; nent < (size_t)argc; nent++) { Err z3bra.org 70 i maxwidth = MAX(xft_txtw(entries[nent]), maxwidth); Err z3bra.org 70 i maxheight = MAX(xft_txth(entries[nent]), maxheight); Err z3bra.org 70 i } Err z3bra.org 70 .