aewl

annotate wm.h @ 0:491f34c11291

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