home *** CD-ROM | disk | FTP | other *** search
/ ftp.freefriends.org / ftp.freefriends.org.tar / ftp.freefriends.org / arnold / Source / 9wm-1.1.shar.gz / 9wm-1.1.shar / dat.h < prev    next >
C/C++ Source or Header  |  1995-01-15  |  3KB  |  118 lines

  1. /* Copyright (c) 1994 David Hogan, see README for licence details */
  2.  
  3. #define BORDER      _border
  4. #define MAXHIDDEN   32
  5. #define B3FIXED     5
  6.  
  7. #define AllButtonMask   (Button1Mask|Button2Mask|Button3Mask \
  8.             |Button4Mask|Button5Mask)
  9. #define ButtonMask  (ButtonPressMask|ButtonReleaseMask)
  10. #define MenuMask    (ButtonMask|ButtonMotionMask|ExposureMask)
  11. #define MenuGrabMask    (ButtonMask|ButtonMotionMask|StructureNotifyMask)
  12.  
  13. #ifdef  Plan9
  14. #define DEFSHELL    "/bin/rc"
  15. #else
  16. #define DEFSHELL    "/bin/sh"
  17. #endif
  18.  
  19. typedef struct Client   Client;
  20. typedef struct Menu Menu;
  21.  
  22. struct Client {
  23.     Window      window;
  24.     Window      parent;
  25.     Window      trans;
  26.     Client      *next;
  27.     Client      *revert;
  28.  
  29.     int         x;
  30.     int         y;
  31.     int         dx;
  32.     int         dy;
  33.     int         border;
  34.  
  35.     XSizeHints  size;
  36.     int         min_dx;
  37.     int         min_dy;
  38.  
  39.     int         state;
  40.     int         init;
  41.     int         reparenting;
  42.     int         is9term;
  43.     int         hold;
  44.     int         proto;
  45.  
  46.     char        *label;
  47.     char        *instance;
  48.     char        *class;
  49.     char        *name;
  50.     char        *iconname;
  51.  
  52.     Colormap    cmap;
  53.     int         ncmapwins;
  54.     Window      *cmapwins;
  55.     Colormap    *wmcmaps;
  56. };
  57.  
  58. #define hidden(c)       ((c)->state == IconicState)
  59. #define withdrawn(c)    ((c)->state == WithdrawnState)
  60. #define normal(c)       ((c)->state == NormalState)
  61.  
  62. /* c->proto */
  63. #define Pdelete     1
  64. #define Ptakefocus  2
  65.  
  66. struct Menu {
  67.     char    **item;
  68.     char    *(*gen)();
  69.     int lasthit;
  70. };
  71.  
  72. /* 9wm.c */
  73. extern Display      *dpy;
  74. extern int          screen;
  75. extern Window       root;
  76. extern Window       menuwin;
  77. extern Colormap     def_cmap;
  78. extern int          initting;
  79. extern GC           gc;
  80. extern XFontStruct  *font;
  81. extern int          nostalgia;
  82. extern Atom         wm_state;
  83. extern Atom         _9wm_hold_mode;
  84. extern Atom         wm_protocols;
  85. extern Atom         wm_delete;
  86. extern Atom         wm_take_focus;
  87. extern Atom         wm_colormaps;
  88. extern unsigned long    black;
  89. extern unsigned long    white;
  90. extern Bool         shape;
  91. extern char         *termprog;
  92. extern char         *shell;
  93. extern char         *version[];
  94. extern int          _border;
  95. extern int          min_cmaps;
  96. extern int          curtime;
  97. extern int          debug;
  98.  
  99. /* client.c */
  100. extern Client       *clients;
  101. extern Client       *current;
  102.  
  103. /* menu.c */
  104. extern Client       *hiddenc[];
  105. extern int          numhidden;
  106. extern char         *b3items[];
  107. extern Menu         b3menu;
  108.  
  109. /* cursor.c */
  110. extern Cursor       target;
  111. extern Cursor       sweep0;
  112. extern Cursor       boxcurs;
  113. extern Cursor       arrow;
  114. extern Pixmap       root_pixmap;
  115.  
  116. /* error.c */
  117. extern int          ignore_badwindow;
  118.