dmenu

my build of dynamic menu
git clone git://git.kocotian.pl/dmenu.git
Log | Files | Refs | README | LICENSE

commit 2ec16d9cb2661c834e346b4cdef29449ddc2f29c
parent 146bc23c118c40c26df7f2e96b46100649673fc7
Author: Connor Lane Smith <cls@lubutu.com>
Date:   Wed, 23 Jun 2010 13:49:24 +0100

cleaned up
Diffstat:
Mdinput.c | 6++++++
Mdmenu.c | 16+++++++++++++++-
Mdraw.h | 21++++++++++-----------
3 files changed, 31 insertions(+), 12 deletions(-)

diff --git a/dinput.c b/dinput.c @@ -43,6 +43,12 @@ static unsigned int numlockmask = 0; static Bool running = True; static Window win; +Display *dpy; +DC dc; +int screen; +unsigned int mw, mh; +Window parent; + void cleanup(void) { drawcleanup(); diff --git a/dmenu.c b/dmenu.c @@ -54,6 +54,7 @@ static char text[4096]; static int cmdw = 0; static int promptw = 0; static int ret = 0; +static unsigned int lines = 0; static unsigned int numlockmask = 0; static Bool running = True; static Item *allitems = NULL; /* first of all items */ @@ -65,9 +66,14 @@ static Item *curr = NULL; static Window win; static int (*fstrncmp)(const char *, const char *, size_t) = strncmp; static char *(*fstrstr)(const char *, const char *) = strstr; -static unsigned int lines = 0; static void (*calcoffsets)(void) = calcoffsetsh; +Display *dpy; +DC dc; +int screen; +unsigned int mw, mh; +Window parent; + void appenditem(Item *i, Item **list, Item **last) { if(!(*last)) @@ -131,6 +137,14 @@ cistrstr(const char *s, const char *sub) { void cleanup(void) { + Item *itm; + + while(allitems) { + itm = allitems->next; + free(allitems->text); + free(allitems); + allitems = itm; + } drawcleanup(); XDestroyWindow(dpy, win); XUngrabKeyboard(dpy, CurrentTime); diff --git a/draw.h b/draw.h @@ -30,16 +30,15 @@ int textnw(const char *text, unsigned int len); int textw(const char *text); /* variables */ -Display *dpy; -DC dc; -int screen; -unsigned int mw, mh; -unsigned int spaceitem; -Window parent; +extern Display *dpy; +extern DC dc; +extern int screen; +extern unsigned int mw, mh; +extern Window parent; /* style */ -const char *font; -const char *normbgcolor; -const char *normfgcolor; -const char *selbgcolor; -const char *selfgcolor; +extern const char *font; +extern const char *normbgcolor; +extern const char *normfgcolor; +extern const char *selbgcolor; +extern const char *selfgcolor;