-/*
- * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
+/* (C)opyright 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 "#333366"
+#define NORMFGCOLOR "#cccccc"
+#define SELBGCOLOR "#666699"
+#define SELFGCOLOR "#eeeeee"
+#define SPACE 30 /* px */
+
+/* color */
+enum { ColFG, ColBG, ColLast };
+
typedef struct DC DC;
typedef struct Fnt 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 */
+extern int screen;
+extern Display *dpy;
+extern DC dc; /* global drawing 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 void drawtext(const char *text,
+ unsigned long col[ColLast]); /* draws text with the defined color tuple */
+extern unsigned long getcolor(const char *colstr); /* returns color of colstr */
+extern void setfont(const char *fontstr); /* sets global font */
+extern unsigned int textw(const char *text); /* returns width of text in px */
/* 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 */