dmenu

dynamic menu
git clone git://git.suckless.org/dmenu
Log | Files | Refs | README | LICENSE

commit 06c18808b6f23bc5120533559e70fbcbff753e84
parent a7aee433ccfd2590e0785a7b93a89d8d0593a234
Author: Connor Lane Smith <cls@lubutu.com>
Date:   Mon,  2 Aug 2010 14:49:14 +0100

replaced promptw
Diffstat:
MMakefile | 2+-
Mdmenu.c | 7+++++--
2 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile @@ -26,7 +26,7 @@ clean: dist: clean @echo creating dist tarball @mkdir -p dmenu-${VERSION} - @cp -R LICENSE Makefile README config.mk dmenu.1 dmenu.c dmenu_path dmenu_run dmenu-${VERSION} + @cp LICENSE Makefile README config.mk dmenu.1 dmenu.c dmenu_path dmenu_run dmenu-${VERSION} @tar -cf dmenu-${VERSION}.tar dmenu-${VERSION} @gzip dmenu-${VERSION}.tar @rm -rf dmenu-${VERSION} diff --git a/dmenu.c b/dmenu.c @@ -42,6 +42,7 @@ static void setup(void); static void usage(void); static char text[4096]; +static int promptw; static size_t cursor = 0; static const char *prompt = NULL; static const char *normbgcolor = "#cccccc"; @@ -79,7 +80,7 @@ void calcoffsetsh(void) { unsigned int w, x; - w = (prompt ? textw(dc, prompt) : 0) + inputw + textw(dc, "<") + textw(dc, ">"); + w = promptw + inputw + textw(dc, "<") + textw(dc, ">"); for(x = w, next = curr; next; next = next->right) if((x += MIN(textw(dc, next->text), mw / 3)) > mw) break; @@ -118,7 +119,7 @@ drawmenu(void) { dc->y = topbar ? 0 : mh - dc->h; /* print prompt? */ if(prompt) { - dc->w = textw(dc, prompt); + dc->w = promptw; drawtext(dc, prompt, selcol); dc->x = dc->w; } @@ -506,7 +507,9 @@ setup(void) { grabkeyboard(); setcanvas(dc, win, mw, mh); inputw = MIN(inputw, mw/3); + promptw = prompt ? MIN(textw(dc, prompt), mw/5) : 0; XMapRaised(dc->dpy, win); + text[0] = '\0'; match(); }