underline match
[dmenu.git] / dmenu.h
diff --git a/dmenu.h b/dmenu.h
index eba71f4..4cc13f4 100644 (file)
--- a/dmenu.h
+++ b/dmenu.h
@@ -1,43 +1,30 @@
-/* © 2006-2007 Anselm R. Garbe <garbeam at gmail dot com>
- * © 2006-2007 Sander van Dijk <a dot h dot vandijk at gmail dot com>
- * See LICENSE file for license details. */
 #include <X11/Xlib.h>
+#include <draw.h>
+#include "config.h"
 
-#define FONT                   "-*-fixed-medium-r-normal-*-13-*-*-*-*-*-*-*"
-#define NORMBGCOLOR            "#eeeeee"
-#define NORMFGCOLOR            "#222222"
-#define SELBGCOLOR             "#006699"
-#define SELFGCOLOR             "#ffffff"
-#define SPACE                  30 /* px */
+/* macros */
+#define INRECT(X,Y,RX,RY,RW,RH) ((X) >= (RX) && (X) < (RX) + (RW) && (Y) >= (RY) && (Y) < (RY) + (RH))
+#define MIN(a, b)               ((a) < (b) ? (a) : (b))
+#define MAX(a, b)               ((a) > (b) ? (a) : (b))
+#define IS_UTF8_1ST_CHAR(c)     ((((c) & 0xc0) == 0xc0) || !((c) & 0x80))
 
-/* color */
-enum { ColFG, ColBG, ColLast };
+/* forward declarations */
+void drawbar(void);
+void grabkeyboard(void);
+void kpress(XKeyEvent *e);
+void run(void);
+void setup(unsigned int lines);
 
-typedef struct {
-       int x, y, w, h;
-       unsigned long norm[ColLast];
-       unsigned long sel[ColLast];
-       Drawable drawable;
-       GC gc;
-       struct {
-               XFontStruct *xfont;
-               XFontSet set;
-               int ascent;
-               int descent;
-               int height;
-       } font;
-} DC; /* draw context */
-
-int screen;
-Display *dpy;
-DC dc;                 /* global drawing context */
-
-/* draw.c */
-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 */
-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 */
+/* variables */
+extern char *prompt;
+extern char text[4096];
+extern int promptw;
+extern int screen;
+extern unsigned int numlockmask;
+extern unsigned int mw, mh;
+extern unsigned long normcol[ColLast];
+extern unsigned long selcol[ColLast];
+extern Bool topbar;
+extern DC dc;
+extern Display *dpy;
+extern Window win, root;