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.

58 lines
1009 B

18 years ago
18 years ago
18 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 "draw.h"
  6. #include "util.h"
  7. #include <X11/Xutil.h>
  8. /* WM atoms */
  9. enum { WMState, WMProtocols, WMDelete, WMLast };
  10. /* NET atoms */
  11. enum { NetSupported, NetWMName, NetLast };
  12. /* Cursor */
  13. enum { CurNormal, CurResize, CurMove, CurInput, CurLast };
  14. /* Rects */
  15. enum { RFloat, RGrid, RLast };
  16. typedef struct Client Client;
  17. typedef struct Tag Tag;
  18. struct Client {
  19. Tag *tag;
  20. char name[256];
  21. int proto;
  22. Window win;
  23. Window trans;
  24. Window title;
  25. GC gc;
  26. XSizeHints size;
  27. XRectangle r[RLast];
  28. Client *next;
  29. Client *tnext;
  30. Client *tprev;
  31. };
  32. struct Tag {
  33. char name[256];
  34. Client *clients;
  35. Client *sel;
  36. XRectangle r;
  37. };
  38. extern Display *dpy;
  39. extern Window root;
  40. extern XRectangle rect;
  41. extern int screen, sel_screen;
  42. extern unsigned int kmask, numlock_mask;
  43. extern Atom wm_atom[WMLast];
  44. extern Atom net_atom[NetLast];
  45. extern Cursor cursor[CurLast];
  46. extern Pixmap pmap;
  47. /* wm.c */