* (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
* See LICENSE file for license details.
*/
-
#include <X11/Xlib.h>
-#include <X11/Xlocale.h>
-
-typedef struct Brush Brush;
-typedef struct Color Color;
-typedef struct Fnt Fnt;
-
-struct Color {
- unsigned long bg;
- unsigned long fg;
- unsigned long border;
-};
-
-struct Fnt {
- XFontStruct *xfont;
- XFontSet set;
- int ascent;
- int descent;
-};
-
-struct Brush {
- GC gc;
- Drawable drawable;
- XRectangle rect;
- Bool border;
- Fnt *font;
- Color color;
- const char *text;
-};
-extern void draw(Display *dpy, Brush *b);
-extern void loadcolor(Display *dpy, int screen, Color *c,
- const char *bg, const char *fg, const char *bo);
-extern unsigned int textwidth_l(Fnt *font, char *text, unsigned int len);
-extern unsigned int textwidth(Fnt *font, char *text);
-extern void loadfont(Display *dpy, Fnt *font, const char *fontstr);
+extern void error(char *errstr, ...);
+extern void *emallocz(unsigned int size);
+extern void *emalloc(unsigned int size);
+extern void *erealloc(void *ptr, unsigned int size);
+extern char *estrdup(const char *str);
+#define eassert(a) \
+ do { \
+ if(!(a)) \
+ failed_assert(#a, __FILE__, __LINE__); \
+ } while (0)
+extern void failed_assert(char *a, char *file, int line);
+extern void pipe_spawn(char *buf, unsigned int len, Display *dpy, char *argv[]);
+extern void spawn(Display *dpy, char *argv[]);
+extern void swap(void **p1, void **p2);
+extern unsigned int tokenize(char **result, unsigned int reslen,
+ char *str, char delim);