aboutsummaryrefslogtreecommitdiff
path: root/wm.h
diff options
context:
space:
mode:
Diffstat (limited to 'wm.h')
-rw-r--r--wm.h57
1 files changed, 57 insertions, 0 deletions
diff --git a/wm.h b/wm.h
new file mode 100644
index 0000000..3885cb5
--- /dev/null
+++ b/wm.h
@@ -0,0 +1,57 @@
+/*
+ * (C)opyright MMVI Anselm R. Garbe <garbeam at gmail dot com>
+ * See LICENSE file for license details.
+ */
+
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+
+/* WM atoms */
+enum { WMState, WMProtocols, WMDelete, WMLast };
+
+/* NET atoms */
+enum { NetSupported, NetWMName, NetLast };
+
+/* Cursor */
+enum { CurNormal, CurResize, CurMove, CurInput, CurLast };
+
+/* Rects */
+enum { RFloat, RGrid, RLast };
+
+typedef struct Client Client;
+typedef struct Tag Tag;
+
+struct Client {
+ Tag *tag;
+ char name[256];
+ int proto;
+ Window win;
+ Window trans;
+ Window title;
+ GC gc;
+ XSizeHints size;
+ XRectangle r[RLast];
+ Client *next;
+ Client *tnext;
+ Client *tprev;
+};
+
+struct Tag {
+ char name[256];
+ Client *clients;
+ Client *sel;
+ XRectangle r;
+};
+
+extern Display *dpy;
+extern Window root;
+extern XRectangle rect;
+extern int screen, sel_screen;
+extern unsigned int kmask, numlock_mask;
+extern Atom wm_atom[WMLast];
+extern Atom net_atom[NetLast];
+extern Cursor cursor[CurLast];
+extern Pixmap pmap;
+
+/* wm.c */
+extern void error(char *errstr, ...);