removed draw.c, implemented C-w handling (backward word deletion)
[dmenu.git] / dmenu.h
diff --git a/dmenu.h b/dmenu.h
index 8d630ba..5c047ff 100644 (file)
--- a/dmenu.h
+++ b/dmenu.h
@@ -1,13 +1,19 @@
-/*
- * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
+/* (C)opyright MMVI-MMVII Anselm R. Garbe <garbeam at gmail dot com>
  * See LICENSE file for license details.
  */
 
-#include "config.h"
 #include <X11/Xlib.h>
-#include <X11/Xlocale.h>
 
-typedef struct Brush Brush;
+#define FONT                   "-*-fixed-medium-r-normal-*-13-*-*-*-*-*-*-*"
+#define NORMBGCOLOR            "#eeeeee"
+#define NORMFGCOLOR            "#222222"
+#define SELBGCOLOR             "#006699"
+#define SELFGCOLOR             "#ffffff"
+#define SPACE                  30 /* px */
+
+/* color */
+enum { ColFG, ColBG, ColLast };
+
 typedef struct DC DC;
 typedef struct Fnt Fnt;
 
@@ -19,40 +25,20 @@ struct Fnt {
        int height;
 };
 
-struct DC { /* draw context */
+struct DC {
        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 Brush {
-       GC gc;
-       Drawable drawable;
-       int x, y, w, h;
-       Fnt font;
-       unsigned long bg;
-       unsigned long fg;
-       unsigned long border;
-};
-
-
+}; /* draw context */
 
-/* draw.c */
-extern void draw(Display *dpy, Brush *b, Bool border, const char *text);
-extern void loadcolors(Display *dpy, int screen, Brush *b,
-               const char *bg, const char *fg, const char *bo);
-extern void loadfont(Display *dpy, Fnt *font, const char *fontstr);
-extern unsigned int textnw(Fnt *font, char *text, unsigned int len);
-extern unsigned int textw(Fnt *font, char *text);
-extern unsigned int texth(Fnt *font);
+extern int screen;
+extern Display *dpy;
+extern DC dc;                  /* global drawing context */
 
 /* util.c */
-extern void *emalloc(unsigned int size);
-extern void *emallocz(unsigned int size);
-extern void eprint(const char *errstr, ...);
-extern char *estrdup(const char *str);
-extern void swap(void **p1, void **p2);
+extern void *emalloc(unsigned int size);               /* allocates memory, exits on error */
+extern void eprint(const char *errstr, ...);           /* prints errstr and exits with 1 */
+extern char *estrdup(const char *str);                 /* duplicates str, exits on allocation error */