diff options
Diffstat (limited to 'src/cmd/rio/dat.h')
-rw-r--r-- | src/cmd/rio/dat.h | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/src/cmd/rio/dat.h b/src/cmd/rio/dat.h new file mode 100644 index 00000000..ac5ee155 --- /dev/null +++ b/src/cmd/rio/dat.h @@ -0,0 +1,148 @@ +/* Copyright (c) 1994-1996 David Hogan, see README for licence details */ + +#define BORDER _border +#define INSET _inset +#define MAXHIDDEN 32 +#define B3FIXED 5 + +#define AllButtonMask (Button1Mask|Button2Mask|Button3Mask \ + |Button4Mask|Button5Mask) +#define ButtonMask (ButtonPressMask|ButtonReleaseMask) +#define MenuMask (ButtonMask|ButtonMotionMask|ExposureMask) +#define MenuGrabMask (ButtonMask|ButtonMotionMask|StructureNotifyMask) + +#ifdef Plan9 +#define DEFSHELL "/bin/rc" +#else +#define DEFSHELL "/bin/sh" +#endif + +typedef struct Client Client; +typedef struct Menu Menu; +typedef struct ScreenInfo ScreenInfo; + +struct Client { + Window window; + Window parent; + Window trans; + Client *next; + Client *revert; + + int x; + int y; + int dx; + int dy; + int border; + + XSizeHints size; + int min_dx; + int min_dy; + + int state; + int init; + int reparenting; + int is9term; + int hold; + int proto; + + char *label; + char *instance; + char *class; + char *name; + char *iconname; + + Colormap cmap; + int ncmapwins; + Window *cmapwins; + Colormap *wmcmaps; + ScreenInfo *screen; +}; + +#define hidden(c) ((c)->state == IconicState) +#define withdrawn(c) ((c)->state == WithdrawnState) +#define normal(c) ((c)->state == NormalState) + +/* c->proto */ +#define Pdelete 1 +#define Ptakefocus 2 + +struct Menu { + char **item; + char *(*gen)(); + int lasthit; +}; + +struct ScreenInfo { + int num; + int depth; + int width; + int height; + Window root; + Window menuwin; + Window sweepwin; + Colormap def_cmap; + GC gc; + GC gccopy; + GC gcred; + GC gcsweep; + GC gcmenubg; + GC gcmenubgs; + GC gcmenufg; + GC gcmenufgs; + unsigned long black; + unsigned long white; + unsigned long activeholdborder; + unsigned long inactiveholdborder; + unsigned long activeborder; + unsigned long inactiveborder; + unsigned long red; + Pixmap bkup[2]; + int min_cmaps; + Cursor target; + Cursor sweep0; + Cursor boxcurs; + Cursor arrow; + Pixmap root_pixmap; + char display[256]; /* arbitrary limit */ +}; + +/* main.c */ +extern Display *dpy; +extern ScreenInfo *screens; +extern int num_screens; +extern int initting; +extern XFontStruct *font; +extern int nostalgia; +extern char **myargv; +extern Bool shape; +extern char *termprog; +extern char *shell; +extern char *version[]; +extern int _border; +extern int _inset; +extern int curtime; +extern int debug; +extern int solidsweep; + +extern Atom exit_9wm; +extern Atom restart_9wm; +extern Atom wm_state; +extern Atom wm_change_state; +extern Atom _9wm_hold_mode; +extern Atom wm_protocols; +extern Atom wm_delete; +extern Atom wm_take_focus; +extern Atom wm_colormaps; + +/* client.c */ +extern Client *clients; +extern Client *current; + +/* menu.c */ +extern Client *hiddenc[]; +extern int numhidden; +extern char *b3items[]; +extern Menu b3menu; + +/* error.c */ +extern int ignore_badwindow; |