summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dinput.c6
-rw-r--r--dmenu.c16
-rw-r--r--draw.h21
3 files changed, 31 insertions, 12 deletions
diff --git a/dinput.c b/dinput.c
index f2b504a..d8f2515 100644
--- 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
index 339f949..8b40aa7 100644
--- 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
index 79db37e..b6615ab 100644
--- 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;