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.2 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
18 years ago
18 years ago
18 years ago
18 years ago
18 years ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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 DC DC;
  14. typedef struct Fnt Fnt;
  15. struct Fnt {
  16. XFontStruct *xfont;
  17. XFontSet set;
  18. int ascent;
  19. int descent;
  20. int height;
  21. };
  22. struct DC {
  23. int x, y, w, h;
  24. unsigned long norm[ColLast];
  25. unsigned long sel[ColLast];
  26. Drawable drawable;
  27. Fnt font;
  28. GC gc;
  29. }; /* draw context */
  30. extern int screen;
  31. extern Display *dpy;
  32. extern DC dc; /* global drawing context */
  33. /* draw.c */
  34. extern void drawtext(const char *text, unsigned long col[ColLast]);
  35. extern unsigned int textw(const char *text);
  36. extern unsigned int textnw(const char *text, unsigned int len);
  37. /* util.c */
  38. extern void *emalloc(unsigned int size); /* allocates memory, exits on error */
  39. extern void eprint(const char *errstr, ...); /* prints errstr and exits with 1 */
  40. extern char *estrdup(const char *str); /* duplicates str, exits on allocation error */