fixed fallback
[dmenu.git] / dmenu.h
diff --git a/dmenu.h b/dmenu.h
index 75b6266..015e808 100644 (file)
--- a/dmenu.h
+++ b/dmenu.h
@@ -1,47 +1,41 @@
-/*
- * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
- * See LICENSE file for license details.
- */
-
-#include "config.h"
+/* See LICENSE file for copyright and license details. */
 #include <X11/Xlib.h>
-#include <X11/Xlocale.h>
-
-#define SPACE          30 /* px */
 
-typedef struct Brush Brush;
-typedef struct DC DC;
-typedef struct Fnt Fnt;
+#define FONT                   "-*-fixed-medium-r-normal-*-13-*-*-*-*-*-*-*"
+#define NORMBGCOLOR            "#eeeeee"
+#define NORMFGCOLOR            "#222222"
+#define SELBGCOLOR             "#006699"
+#define SELFGCOLOR             "#ffffff"
+#define SPACE                  30 /* px */
 
-struct Fnt {
-       XFontStruct *xfont;
-       XFontSet set;
-       int ascent;
-       int descent;
-       int height;
-};
+/* color */
+enum { ColFG, ColBG, ColLast };
 
-struct DC { /* draw context */
+typedef struct {
        int x, y, w, h;
-       unsigned long bg;
-       unsigned long fg;
-       unsigned long border;
+       unsigned long norm[ColLast];
+       unsigned long sel[ColLast];
        Drawable drawable;
-       Fnt font;
        GC gc;
-};
+       struct {
+               XFontStruct *xfont;
+               XFontSet set;
+               int ascent;
+               int descent;
+               int height;
+       } font;
+} DC; /* draw context */
 
 extern int screen;
 extern Display *dpy;
-extern DC dc;
+extern DC dc;                          /* global drawing context */
 
 /* draw.c */
-extern void drawtext(const char *text, Bool invert, Bool border);
-extern unsigned long getcolor(const char *colstr);
-extern void setfont(const char *fontstr);
-extern unsigned int textw(const char *text);
+void drawtext(const char *text, unsigned long col[ColLast]);
+unsigned int textw(const char *text);
+unsigned int textnw(const char *text, unsigned int len);
 
 /* util.c */
-extern void *emalloc(unsigned int size);
-extern void eprint(const char *errstr, ...);
-extern char *estrdup(const char *str);
+void *emalloc(unsigned int size);      /* allocates memory, exits on error */
+void eprint(const char *errstr, ...);  /* prints errstr and exits with 1 */
+char *estrdup(const char *str);                /* duplicates str, exits on allocation error */