My dmenu build
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

dmenu.h 1.1 KiB

17 years ago
18 years ago
17 years ago
18 years ago
18 years ago
18 years ago
18 years ago
18 years ago
1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /* (C)opyright MMVI-MMVII Anselm R. Garbe <garbeam at gmail dot com>
  2. * See LICENSE file for license details.
  3. */
  4. #include <X11/Xlib.h>
  5. #define FONT "-*-fixed-medium-r-normal-*-13-*-*-*-*-*-*-*"
  6. #define NORMBGCOLOR "#eeeeee"
  7. #define NORMFGCOLOR "#222222"
  8. #define SELBGCOLOR "#006699"
  9. #define SELFGCOLOR "#ffffff"
  10. #define SPACE 30 /* px */
  11. /* color */
  12. enum { ColFG, ColBG, ColLast };
  13. typedef struct {
  14. int x, y, w, h;
  15. unsigned long norm[ColLast];
  16. unsigned long sel[ColLast];
  17. Drawable drawable;
  18. GC gc;
  19. struct {
  20. XFontStruct *xfont;
  21. XFontSet set;
  22. int ascent;
  23. int descent;
  24. int height;
  25. } font;
  26. } DC; /* draw context */
  27. int screen;
  28. Display *dpy;
  29. DC dc; /* global drawing context */
  30. /* draw.c */
  31. void drawtext(const char *text, unsigned long col[ColLast]);
  32. unsigned int textw(const char *text);
  33. unsigned int textnw(const char *text, unsigned int len);
  34. /* util.c */
  35. void *emalloc(unsigned int size); /* allocates memory, exits on error */
  36. void eprint(const char *errstr, ...); /* prints errstr and exits with 1 */
  37. char *estrdup(const char *str); /* duplicates str, exits on allocation error */