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.

57 lines
1.0 KiB

19 years ago
  1. /*
  2. * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
  3. * See LICENSE file for license details.
  4. */
  5. #include <X11/Xlib.h>
  6. #include <X11/Xutil.h>
  7. /* WM atoms */
  8. enum { WMState, WMProtocols, WMDelete, WMLast };
  9. /* NET atoms */
  10. enum { NetSupported, NetWMName, NetLast };
  11. /* Cursor */
  12. enum { CurNormal, CurResize, CurMove, CurInput, CurLast };
  13. /* Rects */
  14. enum { RFloat, RGrid, RLast };
  15. typedef struct Client Client;
  16. typedef struct Tag Tag;
  17. struct Client {
  18. Tag *tag;
  19. char name[256];
  20. int proto;
  21. Window win;
  22. Window trans;
  23. Window title;
  24. GC gc;
  25. XSizeHints size;
  26. XRectangle r[RLast];
  27. Client *next;
  28. Client *tnext;
  29. Client *tprev;
  30. };
  31. struct Tag {
  32. char name[256];
  33. Client *clients;
  34. Client *sel;
  35. XRectangle r;
  36. };
  37. extern Display *dpy;
  38. extern Window root;
  39. extern XRectangle rect;
  40. extern int screen, sel_screen;
  41. extern unsigned int kmask, numlock_mask;
  42. extern Atom wm_atom[WMLast];
  43. extern Atom net_atom[NetLast];
  44. extern Cursor cursor[CurLast];
  45. extern Pixmap pmap;
  46. /* wm.c */
  47. extern void error(char *errstr, ...);